SpotDown 0.0.8__tar.gz → 0.1.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- spotdown-0.1.1/MANIFEST.in +3 -0
- {spotdown-0.0.8/SpotDown.egg-info → spotdown-0.1.1}/PKG-INFO +17 -16
- {spotdown-0.0.8 → spotdown-0.1.1}/README.md +7 -9
- spotdown-0.1.1/SpotDown/__init__.py +7 -0
- spotdown-0.1.1/SpotDown/upload/version.py +5 -0
- {spotdown-0.0.8 → spotdown-0.1.1/SpotDown.egg-info}/PKG-INFO +17 -16
- {spotdown-0.0.8 → spotdown-0.1.1}/SpotDown.egg-info/SOURCES.txt +1 -0
- spotdown-0.1.1/SpotDown.egg-info/entry_points.txt +2 -0
- spotdown-0.1.1/setup.py +50 -0
- spotdown-0.0.8/MANIFEST.in +0 -3
- spotdown-0.0.8/SpotDown/downloader/__init__.py +0 -0
- spotdown-0.0.8/SpotDown.egg-info/entry_points.txt +0 -2
- spotdown-0.0.8/setup.py +0 -46
- {spotdown-0.0.8 → spotdown-0.1.1}/LICENSE +0 -0
- {spotdown-0.0.8/SpotDown → spotdown-0.1.1/SpotDown/downloader}/__init__.py +0 -0
- {spotdown-0.0.8 → spotdown-0.1.1}/SpotDown/downloader/youtube_downloader.py +0 -0
- {spotdown-0.0.8 → spotdown-0.1.1}/SpotDown/extractor/__init__.py +0 -0
- {spotdown-0.0.8 → spotdown-0.1.1}/SpotDown/extractor/spotify_extractor.py +0 -0
- {spotdown-0.0.8 → spotdown-0.1.1}/SpotDown/extractor/youtube_extractor.py +0 -0
- {spotdown-0.0.8 → spotdown-0.1.1}/SpotDown/main.py +0 -0
- {spotdown-0.0.8 → spotdown-0.1.1}/SpotDown/utils/__init__.py +0 -0
- {spotdown-0.0.8 → spotdown-0.1.1}/SpotDown/utils/config_json.py +0 -0
- {spotdown-0.0.8 → spotdown-0.1.1}/SpotDown/utils/console_utils.py +0 -0
- {spotdown-0.0.8 → spotdown-0.1.1}/SpotDown/utils/file_utils.py +0 -0
- {spotdown-0.0.8 → spotdown-0.1.1}/SpotDown/utils/headers.py +0 -0
- {spotdown-0.0.8 → spotdown-0.1.1}/SpotDown.egg-info/dependency_links.txt +0 -0
- {spotdown-0.0.8 → spotdown-0.1.1}/SpotDown.egg-info/requires.txt +0 -0
- {spotdown-0.0.8 → spotdown-0.1.1}/SpotDown.egg-info/top_level.txt +0 -0
- {spotdown-0.0.8 → spotdown-0.1.1}/requirements.txt +0 -0
- {spotdown-0.0.8 → spotdown-0.1.1}/setup.cfg +0 -0
@@ -1,11 +1,13 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: SpotDown
|
3
|
-
Version: 0.
|
4
|
-
|
3
|
+
Version: 0.1.1
|
4
|
+
Summary: A command-line program to download music
|
5
|
+
Home-page: https://github.com/Arrowar/spotdown
|
5
6
|
Author: Arrowar
|
6
|
-
|
7
|
-
|
8
|
-
|
7
|
+
Author-email: author@example.com
|
8
|
+
Classifier: Programming Language :: Python :: 3
|
9
|
+
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
|
10
|
+
Classifier: Operating System :: OS Independent
|
9
11
|
Requires-Python: >=3.8
|
10
12
|
Description-Content-Type: text/markdown
|
11
13
|
License-File: LICENSE
|
@@ -18,14 +20,15 @@ Requires-Dist: unidecode
|
|
18
20
|
Requires-Dist: yt-dlp
|
19
21
|
Requires-Dist: Pillow
|
20
22
|
Dynamic: author
|
23
|
+
Dynamic: author-email
|
24
|
+
Dynamic: classifier
|
21
25
|
Dynamic: description
|
22
26
|
Dynamic: description-content-type
|
23
27
|
Dynamic: home-page
|
24
|
-
Dynamic: keywords
|
25
28
|
Dynamic: license-file
|
26
|
-
Dynamic: project-url
|
27
29
|
Dynamic: requires-dist
|
28
30
|
Dynamic: requires-python
|
31
|
+
Dynamic: summary
|
29
32
|
|
30
33
|
<div align="center">
|
31
34
|
|
@@ -54,21 +57,19 @@ Dynamic: requires-python
|
|
54
57
|
## 📋 Table of Contents
|
55
58
|
|
56
59
|
- [✨ Features](#features)
|
57
|
-
- [🛠️ Installation](
|
60
|
+
- [🛠️ Installation](#️installation)
|
58
61
|
- [⚙️ Configuration](#configuration)
|
59
62
|
- [💻 Usage](#usage)
|
60
|
-
- [📁 Project Structure](#project-structure)
|
61
|
-
- [🔧 Dependencies](#dependencies)
|
62
63
|
- [⚠️ Disclaimer](#disclaimer)
|
63
64
|
|
64
|
-
##
|
65
|
+
## Features
|
65
66
|
|
66
67
|
- 🎵 **Download individual songs** from Spotify
|
67
68
|
- 📋 **Download entire playlists** with ease
|
68
69
|
- 🔍 **No authentication required** - uses web scraping
|
69
70
|
- 🎨 **Automatic cover art embedding** (JPEG format)
|
70
71
|
|
71
|
-
##
|
72
|
+
## Installation
|
72
73
|
|
73
74
|
### Prerequisites
|
74
75
|
|
@@ -99,7 +100,7 @@ if __name__ == "__main__":
|
|
99
100
|
main()
|
100
101
|
```
|
101
102
|
|
102
|
-
##
|
103
|
+
## Configuration
|
103
104
|
|
104
105
|
SpotDown uses a JSON configuration file with the following structure:
|
105
106
|
|
@@ -134,7 +135,7 @@ SpotDown uses a JSON configuration file with the following structure:
|
|
134
135
|
- **`headless`**: Run browser in background (recommended: true)
|
135
136
|
- **`timeout`**: Browser timeout in seconds
|
136
137
|
|
137
|
-
##
|
138
|
+
## Usage
|
138
139
|
|
139
140
|
### Basic Usage
|
140
141
|
|
@@ -157,13 +158,13 @@ python run.py
|
|
157
158
|
2. Paste the Spotify playlist URL when prompted
|
158
159
|
3. All songs in the playlist will be downloaded automatically
|
159
160
|
|
160
|
-
##
|
161
|
+
## To Do
|
161
162
|
|
162
163
|
- [ ] Implement batch download queue
|
163
164
|
- [ ] Add GUI interface option
|
164
165
|
- [ ] Support for additional music platforms
|
165
166
|
|
166
|
-
##
|
167
|
+
## Disclaimer
|
167
168
|
|
168
169
|
This software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and noninfringement.
|
169
170
|
|
@@ -25,21 +25,19 @@
|
|
25
25
|
## 📋 Table of Contents
|
26
26
|
|
27
27
|
- [✨ Features](#features)
|
28
|
-
- [🛠️ Installation](
|
28
|
+
- [🛠️ Installation](#️installation)
|
29
29
|
- [⚙️ Configuration](#configuration)
|
30
30
|
- [💻 Usage](#usage)
|
31
|
-
- [📁 Project Structure](#project-structure)
|
32
|
-
- [🔧 Dependencies](#dependencies)
|
33
31
|
- [⚠️ Disclaimer](#disclaimer)
|
34
32
|
|
35
|
-
##
|
33
|
+
## Features
|
36
34
|
|
37
35
|
- 🎵 **Download individual songs** from Spotify
|
38
36
|
- 📋 **Download entire playlists** with ease
|
39
37
|
- 🔍 **No authentication required** - uses web scraping
|
40
38
|
- 🎨 **Automatic cover art embedding** (JPEG format)
|
41
39
|
|
42
|
-
##
|
40
|
+
## Installation
|
43
41
|
|
44
42
|
### Prerequisites
|
45
43
|
|
@@ -70,7 +68,7 @@ if __name__ == "__main__":
|
|
70
68
|
main()
|
71
69
|
```
|
72
70
|
|
73
|
-
##
|
71
|
+
## Configuration
|
74
72
|
|
75
73
|
SpotDown uses a JSON configuration file with the following structure:
|
76
74
|
|
@@ -105,7 +103,7 @@ SpotDown uses a JSON configuration file with the following structure:
|
|
105
103
|
- **`headless`**: Run browser in background (recommended: true)
|
106
104
|
- **`timeout`**: Browser timeout in seconds
|
107
105
|
|
108
|
-
##
|
106
|
+
## Usage
|
109
107
|
|
110
108
|
### Basic Usage
|
111
109
|
|
@@ -128,13 +126,13 @@ python run.py
|
|
128
126
|
2. Paste the Spotify playlist URL when prompted
|
129
127
|
3. All songs in the playlist will be downloaded automatically
|
130
128
|
|
131
|
-
##
|
129
|
+
## To Do
|
132
130
|
|
133
131
|
- [ ] Implement batch download queue
|
134
132
|
- [ ] Add GUI interface option
|
135
133
|
- [ ] Support for additional music platforms
|
136
134
|
|
137
|
-
##
|
135
|
+
## Disclaimer
|
138
136
|
|
139
137
|
This software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and noninfringement.
|
140
138
|
|
@@ -1,11 +1,13 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: SpotDown
|
3
|
-
Version: 0.
|
4
|
-
|
3
|
+
Version: 0.1.1
|
4
|
+
Summary: A command-line program to download music
|
5
|
+
Home-page: https://github.com/Arrowar/spotdown
|
5
6
|
Author: Arrowar
|
6
|
-
|
7
|
-
|
8
|
-
|
7
|
+
Author-email: author@example.com
|
8
|
+
Classifier: Programming Language :: Python :: 3
|
9
|
+
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
|
10
|
+
Classifier: Operating System :: OS Independent
|
9
11
|
Requires-Python: >=3.8
|
10
12
|
Description-Content-Type: text/markdown
|
11
13
|
License-File: LICENSE
|
@@ -18,14 +20,15 @@ Requires-Dist: unidecode
|
|
18
20
|
Requires-Dist: yt-dlp
|
19
21
|
Requires-Dist: Pillow
|
20
22
|
Dynamic: author
|
23
|
+
Dynamic: author-email
|
24
|
+
Dynamic: classifier
|
21
25
|
Dynamic: description
|
22
26
|
Dynamic: description-content-type
|
23
27
|
Dynamic: home-page
|
24
|
-
Dynamic: keywords
|
25
28
|
Dynamic: license-file
|
26
|
-
Dynamic: project-url
|
27
29
|
Dynamic: requires-dist
|
28
30
|
Dynamic: requires-python
|
31
|
+
Dynamic: summary
|
29
32
|
|
30
33
|
<div align="center">
|
31
34
|
|
@@ -54,21 +57,19 @@ Dynamic: requires-python
|
|
54
57
|
## 📋 Table of Contents
|
55
58
|
|
56
59
|
- [✨ Features](#features)
|
57
|
-
- [🛠️ Installation](
|
60
|
+
- [🛠️ Installation](#️installation)
|
58
61
|
- [⚙️ Configuration](#configuration)
|
59
62
|
- [💻 Usage](#usage)
|
60
|
-
- [📁 Project Structure](#project-structure)
|
61
|
-
- [🔧 Dependencies](#dependencies)
|
62
63
|
- [⚠️ Disclaimer](#disclaimer)
|
63
64
|
|
64
|
-
##
|
65
|
+
## Features
|
65
66
|
|
66
67
|
- 🎵 **Download individual songs** from Spotify
|
67
68
|
- 📋 **Download entire playlists** with ease
|
68
69
|
- 🔍 **No authentication required** - uses web scraping
|
69
70
|
- 🎨 **Automatic cover art embedding** (JPEG format)
|
70
71
|
|
71
|
-
##
|
72
|
+
## Installation
|
72
73
|
|
73
74
|
### Prerequisites
|
74
75
|
|
@@ -99,7 +100,7 @@ if __name__ == "__main__":
|
|
99
100
|
main()
|
100
101
|
```
|
101
102
|
|
102
|
-
##
|
103
|
+
## Configuration
|
103
104
|
|
104
105
|
SpotDown uses a JSON configuration file with the following structure:
|
105
106
|
|
@@ -134,7 +135,7 @@ SpotDown uses a JSON configuration file with the following structure:
|
|
134
135
|
- **`headless`**: Run browser in background (recommended: true)
|
135
136
|
- **`timeout`**: Browser timeout in seconds
|
136
137
|
|
137
|
-
##
|
138
|
+
## Usage
|
138
139
|
|
139
140
|
### Basic Usage
|
140
141
|
|
@@ -157,13 +158,13 @@ python run.py
|
|
157
158
|
2. Paste the Spotify playlist URL when prompted
|
158
159
|
3. All songs in the playlist will be downloaded automatically
|
159
160
|
|
160
|
-
##
|
161
|
+
## To Do
|
161
162
|
|
162
163
|
- [ ] Implement batch download queue
|
163
164
|
- [ ] Add GUI interface option
|
164
165
|
- [ ] Support for additional music platforms
|
165
166
|
|
166
|
-
##
|
167
|
+
## Disclaimer
|
167
168
|
|
168
169
|
This software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and noninfringement.
|
169
170
|
|
@@ -16,6 +16,7 @@ SpotDown/downloader/youtube_downloader.py
|
|
16
16
|
SpotDown/extractor/__init__.py
|
17
17
|
SpotDown/extractor/spotify_extractor.py
|
18
18
|
SpotDown/extractor/youtube_extractor.py
|
19
|
+
SpotDown/upload/version.py
|
19
20
|
SpotDown/utils/__init__.py
|
20
21
|
SpotDown/utils/config_json.py
|
21
22
|
SpotDown/utils/console_utils.py
|
spotdown-0.1.1/setup.py
ADDED
@@ -0,0 +1,50 @@
|
|
1
|
+
# 05.04.2024
|
2
|
+
|
3
|
+
from setuptools import setup, find_packages
|
4
|
+
from pathlib import Path
|
5
|
+
|
6
|
+
base_dir = Path(__file__).resolve().parent
|
7
|
+
|
8
|
+
|
9
|
+
# Read version
|
10
|
+
version = {}
|
11
|
+
version_file = base_dir / "SpotDown" / "upload" / "version.py"
|
12
|
+
with open(version_file, encoding="utf-8") as f:
|
13
|
+
exec(f.read(), version)
|
14
|
+
|
15
|
+
# Read requirements
|
16
|
+
requirements_file = base_dir / "requirements.txt"
|
17
|
+
with open(requirements_file, encoding="utf-8") as f:
|
18
|
+
install_requires = f.read().splitlines()
|
19
|
+
|
20
|
+
|
21
|
+
# Read README.md
|
22
|
+
readme_file = base_dir / "README.md"
|
23
|
+
with open(readme_file, encoding="utf-8") as f:
|
24
|
+
long_description = f.read()
|
25
|
+
|
26
|
+
|
27
|
+
setup(
|
28
|
+
name="SpotDown",
|
29
|
+
version=version["__version__"],
|
30
|
+
author="Arrowar",
|
31
|
+
author_email="author@example.com",
|
32
|
+
description="A command-line program to download music",
|
33
|
+
long_description=long_description,
|
34
|
+
long_description_content_type="text/markdown",
|
35
|
+
url="https://github.com/Arrowar/spotdown",
|
36
|
+
packages=find_packages(),
|
37
|
+
include_package_data=True,
|
38
|
+
install_requires=install_requires,
|
39
|
+
entry_points={
|
40
|
+
"console_scripts": [
|
41
|
+
"spotdown=SpotDown.main:run",
|
42
|
+
],
|
43
|
+
},
|
44
|
+
classifiers=[
|
45
|
+
"Programming Language :: Python :: 3",
|
46
|
+
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
|
47
|
+
"Operating System :: OS Independent",
|
48
|
+
],
|
49
|
+
python_requires=">=3.8",
|
50
|
+
)
|
spotdown-0.0.8/MANIFEST.in
DELETED
File without changes
|
spotdown-0.0.8/setup.py
DELETED
@@ -1,46 +0,0 @@
|
|
1
|
-
import os
|
2
|
-
import re
|
3
|
-
from setuptools import setup, find_packages
|
4
|
-
|
5
|
-
def read_readme():
|
6
|
-
with open("README.md", "r", encoding="utf-8") as fh:
|
7
|
-
return fh.read()
|
8
|
-
|
9
|
-
with open(os.path.join(os.path.dirname(__file__), "requirements.txt"), "r", encoding="utf-8-sig") as f:
|
10
|
-
required_packages = f.read().splitlines()
|
11
|
-
|
12
|
-
def get_version():
|
13
|
-
try:
|
14
|
-
import pkg_resources
|
15
|
-
return pkg_resources.get_distribution('SpotDown').version
|
16
|
-
|
17
|
-
except Exception:
|
18
|
-
version_file_path = os.path.join(os.path.dirname(__file__), "SpotDown", "upload", "version.py")
|
19
|
-
with open(version_file_path, "r", encoding="utf-8") as f:
|
20
|
-
version_match = re.search(r"^__version__\s*=\s*['\"]([^'\"]*)['\"]", f.read(), re.M)
|
21
|
-
if version_match:
|
22
|
-
return version_match.group(1)
|
23
|
-
|
24
|
-
|
25
|
-
setup(
|
26
|
-
name="SpotDown",
|
27
|
-
version=get_version(),
|
28
|
-
long_description=read_readme(),
|
29
|
-
long_description_content_type="text/markdown",
|
30
|
-
author="Arrowar",
|
31
|
-
url="https://github.com/Arrowar/SpotDown",
|
32
|
-
packages=find_packages(include=["SpotDown", "SpotDown.*"]),
|
33
|
-
install_requires=required_packages,
|
34
|
-
python_requires='>=3.8',
|
35
|
-
entry_points={
|
36
|
-
"console_scripts": [
|
37
|
-
"spotdown=SpotDown.main:main",
|
38
|
-
],
|
39
|
-
},
|
40
|
-
include_package_data=True,
|
41
|
-
keywords="streaming community",
|
42
|
-
project_urls={
|
43
|
-
"Bug Reports": "https://github.com/Arrowar/SpotDown/issues",
|
44
|
-
"Source": "https://github.com/Arrowar/SpotDown",
|
45
|
-
}
|
46
|
-
)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|