SpotDown 0.0.7__tar.gz → 0.1.0__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.0.7/SpotDown.egg-info → spotdown-0.1.0}/PKG-INFO +8 -14
- {spotdown-0.0.7 → spotdown-0.1.0}/README.md +8 -12
- spotdown-0.1.0/SpotDown/__init__.py +7 -0
- {spotdown-0.0.7 → spotdown-0.1.0/SpotDown.egg-info}/PKG-INFO +8 -14
- {spotdown-0.0.7 → spotdown-0.1.0}/SpotDown.egg-info/SOURCES.txt +0 -2
- spotdown-0.1.0/SpotDown.egg-info/entry_points.txt +2 -0
- spotdown-0.1.0/setup.py +39 -0
- spotdown-0.0.7/MANIFEST.in +0 -3
- spotdown-0.0.7/SpotDown/downloader/__init__.py +0 -0
- spotdown-0.0.7/SpotDown.egg-info/entry_points.txt +0 -2
- spotdown-0.0.7/requirements.txt +0 -8
- spotdown-0.0.7/setup.py +0 -46
- {spotdown-0.0.7 → spotdown-0.1.0}/LICENSE +0 -0
- {spotdown-0.0.7/SpotDown → spotdown-0.1.0/SpotDown/downloader}/__init__.py +0 -0
- {spotdown-0.0.7 → spotdown-0.1.0}/SpotDown/downloader/youtube_downloader.py +0 -0
- {spotdown-0.0.7 → spotdown-0.1.0}/SpotDown/extractor/__init__.py +0 -0
- {spotdown-0.0.7 → spotdown-0.1.0}/SpotDown/extractor/spotify_extractor.py +0 -0
- {spotdown-0.0.7 → spotdown-0.1.0}/SpotDown/extractor/youtube_extractor.py +0 -0
- {spotdown-0.0.7 → spotdown-0.1.0}/SpotDown/main.py +0 -0
- {spotdown-0.0.7 → spotdown-0.1.0}/SpotDown/utils/__init__.py +0 -0
- {spotdown-0.0.7 → spotdown-0.1.0}/SpotDown/utils/config_json.py +0 -0
- {spotdown-0.0.7 → spotdown-0.1.0}/SpotDown/utils/console_utils.py +0 -0
- {spotdown-0.0.7 → spotdown-0.1.0}/SpotDown/utils/file_utils.py +0 -0
- {spotdown-0.0.7 → spotdown-0.1.0}/SpotDown/utils/headers.py +0 -0
- {spotdown-0.0.7 → spotdown-0.1.0}/SpotDown.egg-info/dependency_links.txt +0 -0
- {spotdown-0.0.7 → spotdown-0.1.0}/SpotDown.egg-info/requires.txt +0 -0
- {spotdown-0.0.7 → spotdown-0.1.0}/SpotDown.egg-info/top_level.txt +0 -0
- {spotdown-0.0.7 → spotdown-0.1.0}/setup.cfg +0 -0
@@ -1,11 +1,10 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: SpotDown
|
3
|
-
Version: 0.0
|
3
|
+
Version: 0.1.0
|
4
4
|
Home-page: https://github.com/Arrowar/SpotDown
|
5
5
|
Author: Arrowar
|
6
6
|
Project-URL: Bug Reports, https://github.com/Arrowar/SpotDown/issues
|
7
7
|
Project-URL: Source, https://github.com/Arrowar/SpotDown
|
8
|
-
Keywords: streaming community
|
9
8
|
Requires-Python: >=3.8
|
10
9
|
Description-Content-Type: text/markdown
|
11
10
|
License-File: LICENSE
|
@@ -21,14 +20,11 @@ Dynamic: author
|
|
21
20
|
Dynamic: description
|
22
21
|
Dynamic: description-content-type
|
23
22
|
Dynamic: home-page
|
24
|
-
Dynamic: keywords
|
25
23
|
Dynamic: license-file
|
26
24
|
Dynamic: project-url
|
27
25
|
Dynamic: requires-dist
|
28
26
|
Dynamic: requires-python
|
29
27
|
|
30
|
-
# SpotDown 🎵
|
31
|
-
|
32
28
|
<div align="center">
|
33
29
|
|
34
30
|
## 📊 Project Status & Info
|
@@ -56,21 +52,19 @@ Dynamic: requires-python
|
|
56
52
|
## 📋 Table of Contents
|
57
53
|
|
58
54
|
- [✨ Features](#features)
|
59
|
-
- [🛠️ Installation](
|
55
|
+
- [🛠️ Installation](#️installation)
|
60
56
|
- [⚙️ Configuration](#configuration)
|
61
57
|
- [💻 Usage](#usage)
|
62
|
-
- [📁 Project Structure](#project-structure)
|
63
|
-
- [🔧 Dependencies](#dependencies)
|
64
58
|
- [⚠️ Disclaimer](#disclaimer)
|
65
59
|
|
66
|
-
##
|
60
|
+
## Features
|
67
61
|
|
68
62
|
- 🎵 **Download individual songs** from Spotify
|
69
63
|
- 📋 **Download entire playlists** with ease
|
70
64
|
- 🔍 **No authentication required** - uses web scraping
|
71
65
|
- 🎨 **Automatic cover art embedding** (JPEG format)
|
72
66
|
|
73
|
-
##
|
67
|
+
## Installation
|
74
68
|
|
75
69
|
### Prerequisites
|
76
70
|
|
@@ -101,7 +95,7 @@ if __name__ == "__main__":
|
|
101
95
|
main()
|
102
96
|
```
|
103
97
|
|
104
|
-
##
|
98
|
+
## Configuration
|
105
99
|
|
106
100
|
SpotDown uses a JSON configuration file with the following structure:
|
107
101
|
|
@@ -136,7 +130,7 @@ SpotDown uses a JSON configuration file with the following structure:
|
|
136
130
|
- **`headless`**: Run browser in background (recommended: true)
|
137
131
|
- **`timeout`**: Browser timeout in seconds
|
138
132
|
|
139
|
-
##
|
133
|
+
## Usage
|
140
134
|
|
141
135
|
### Basic Usage
|
142
136
|
|
@@ -159,13 +153,13 @@ python run.py
|
|
159
153
|
2. Paste the Spotify playlist URL when prompted
|
160
154
|
3. All songs in the playlist will be downloaded automatically
|
161
155
|
|
162
|
-
##
|
156
|
+
## To Do
|
163
157
|
|
164
158
|
- [ ] Implement batch download queue
|
165
159
|
- [ ] Add GUI interface option
|
166
160
|
- [ ] Support for additional music platforms
|
167
161
|
|
168
|
-
##
|
162
|
+
## Disclaimer
|
169
163
|
|
170
164
|
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.
|
171
165
|
|
@@ -1,5 +1,3 @@
|
|
1
|
-
# SpotDown 🎵
|
2
|
-
|
3
1
|
<div align="center">
|
4
2
|
|
5
3
|
## 📊 Project Status & Info
|
@@ -27,21 +25,19 @@
|
|
27
25
|
## 📋 Table of Contents
|
28
26
|
|
29
27
|
- [✨ Features](#features)
|
30
|
-
- [🛠️ Installation](
|
28
|
+
- [🛠️ Installation](#️installation)
|
31
29
|
- [⚙️ Configuration](#configuration)
|
32
30
|
- [💻 Usage](#usage)
|
33
|
-
- [📁 Project Structure](#project-structure)
|
34
|
-
- [🔧 Dependencies](#dependencies)
|
35
31
|
- [⚠️ Disclaimer](#disclaimer)
|
36
32
|
|
37
|
-
##
|
33
|
+
## Features
|
38
34
|
|
39
35
|
- 🎵 **Download individual songs** from Spotify
|
40
36
|
- 📋 **Download entire playlists** with ease
|
41
37
|
- 🔍 **No authentication required** - uses web scraping
|
42
38
|
- 🎨 **Automatic cover art embedding** (JPEG format)
|
43
39
|
|
44
|
-
##
|
40
|
+
## Installation
|
45
41
|
|
46
42
|
### Prerequisites
|
47
43
|
|
@@ -72,7 +68,7 @@ if __name__ == "__main__":
|
|
72
68
|
main()
|
73
69
|
```
|
74
70
|
|
75
|
-
##
|
71
|
+
## Configuration
|
76
72
|
|
77
73
|
SpotDown uses a JSON configuration file with the following structure:
|
78
74
|
|
@@ -107,7 +103,7 @@ SpotDown uses a JSON configuration file with the following structure:
|
|
107
103
|
- **`headless`**: Run browser in background (recommended: true)
|
108
104
|
- **`timeout`**: Browser timeout in seconds
|
109
105
|
|
110
|
-
##
|
106
|
+
## Usage
|
111
107
|
|
112
108
|
### Basic Usage
|
113
109
|
|
@@ -130,13 +126,13 @@ python run.py
|
|
130
126
|
2. Paste the Spotify playlist URL when prompted
|
131
127
|
3. All songs in the playlist will be downloaded automatically
|
132
128
|
|
133
|
-
##
|
129
|
+
## To Do
|
134
130
|
|
135
131
|
- [ ] Implement batch download queue
|
136
132
|
- [ ] Add GUI interface option
|
137
133
|
- [ ] Support for additional music platforms
|
138
134
|
|
139
|
-
##
|
135
|
+
## Disclaimer
|
140
136
|
|
141
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.
|
142
138
|
|
@@ -150,4 +146,4 @@ This software is provided "as is", without warranty of any kind, express or impl
|
|
150
146
|
|
151
147
|
*If you find this project useful, consider starring it! ⭐*
|
152
148
|
|
153
|
-
</div>
|
149
|
+
</div>
|
@@ -1,11 +1,10 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: SpotDown
|
3
|
-
Version: 0.0
|
3
|
+
Version: 0.1.0
|
4
4
|
Home-page: https://github.com/Arrowar/SpotDown
|
5
5
|
Author: Arrowar
|
6
6
|
Project-URL: Bug Reports, https://github.com/Arrowar/SpotDown/issues
|
7
7
|
Project-URL: Source, https://github.com/Arrowar/SpotDown
|
8
|
-
Keywords: streaming community
|
9
8
|
Requires-Python: >=3.8
|
10
9
|
Description-Content-Type: text/markdown
|
11
10
|
License-File: LICENSE
|
@@ -21,14 +20,11 @@ Dynamic: author
|
|
21
20
|
Dynamic: description
|
22
21
|
Dynamic: description-content-type
|
23
22
|
Dynamic: home-page
|
24
|
-
Dynamic: keywords
|
25
23
|
Dynamic: license-file
|
26
24
|
Dynamic: project-url
|
27
25
|
Dynamic: requires-dist
|
28
26
|
Dynamic: requires-python
|
29
27
|
|
30
|
-
# SpotDown 🎵
|
31
|
-
|
32
28
|
<div align="center">
|
33
29
|
|
34
30
|
## 📊 Project Status & Info
|
@@ -56,21 +52,19 @@ Dynamic: requires-python
|
|
56
52
|
## 📋 Table of Contents
|
57
53
|
|
58
54
|
- [✨ Features](#features)
|
59
|
-
- [🛠️ Installation](
|
55
|
+
- [🛠️ Installation](#️installation)
|
60
56
|
- [⚙️ Configuration](#configuration)
|
61
57
|
- [💻 Usage](#usage)
|
62
|
-
- [📁 Project Structure](#project-structure)
|
63
|
-
- [🔧 Dependencies](#dependencies)
|
64
58
|
- [⚠️ Disclaimer](#disclaimer)
|
65
59
|
|
66
|
-
##
|
60
|
+
## Features
|
67
61
|
|
68
62
|
- 🎵 **Download individual songs** from Spotify
|
69
63
|
- 📋 **Download entire playlists** with ease
|
70
64
|
- 🔍 **No authentication required** - uses web scraping
|
71
65
|
- 🎨 **Automatic cover art embedding** (JPEG format)
|
72
66
|
|
73
|
-
##
|
67
|
+
## Installation
|
74
68
|
|
75
69
|
### Prerequisites
|
76
70
|
|
@@ -101,7 +95,7 @@ if __name__ == "__main__":
|
|
101
95
|
main()
|
102
96
|
```
|
103
97
|
|
104
|
-
##
|
98
|
+
## Configuration
|
105
99
|
|
106
100
|
SpotDown uses a JSON configuration file with the following structure:
|
107
101
|
|
@@ -136,7 +130,7 @@ SpotDown uses a JSON configuration file with the following structure:
|
|
136
130
|
- **`headless`**: Run browser in background (recommended: true)
|
137
131
|
- **`timeout`**: Browser timeout in seconds
|
138
132
|
|
139
|
-
##
|
133
|
+
## Usage
|
140
134
|
|
141
135
|
### Basic Usage
|
142
136
|
|
@@ -159,13 +153,13 @@ python run.py
|
|
159
153
|
2. Paste the Spotify playlist URL when prompted
|
160
154
|
3. All songs in the playlist will be downloaded automatically
|
161
155
|
|
162
|
-
##
|
156
|
+
## To Do
|
163
157
|
|
164
158
|
- [ ] Implement batch download queue
|
165
159
|
- [ ] Add GUI interface option
|
166
160
|
- [ ] Support for additional music platforms
|
167
161
|
|
168
|
-
##
|
162
|
+
## Disclaimer
|
169
163
|
|
170
164
|
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.
|
171
165
|
|
spotdown-0.1.0/setup.py
ADDED
@@ -0,0 +1,39 @@
|
|
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
|
+
requirements_path = os.path.join(os.path.dirname(__file__), "requirements.txt")
|
10
|
+
if os.path.exists(requirements_path):
|
11
|
+
with open(requirements_path, "r", encoding="utf-8-sig") as f:
|
12
|
+
required_packages = f.read().splitlines()
|
13
|
+
else:
|
14
|
+
required_packages = []
|
15
|
+
|
16
|
+
def get_version():
|
17
|
+
return "0.1.0"
|
18
|
+
|
19
|
+
setup(
|
20
|
+
name="SpotDown",
|
21
|
+
version=get_version(),
|
22
|
+
long_description=read_readme(),
|
23
|
+
long_description_content_type="text/markdown",
|
24
|
+
author="Arrowar",
|
25
|
+
url="https://github.com/Arrowar/SpotDown",
|
26
|
+
packages=find_packages(include=["SpotDown", "SpotDown.*"]),
|
27
|
+
install_requires=required_packages,
|
28
|
+
python_requires='>=3.8',
|
29
|
+
entry_points={
|
30
|
+
"console_scripts": [
|
31
|
+
"spotdown=SpotDown.main:run",
|
32
|
+
],
|
33
|
+
},
|
34
|
+
include_package_data=True,
|
35
|
+
project_urls={
|
36
|
+
"Bug Reports": "https://github.com/Arrowar/SpotDown/issues",
|
37
|
+
"Source": "https://github.com/Arrowar/SpotDown"
|
38
|
+
}
|
39
|
+
)
|
spotdown-0.0.7/MANIFEST.in
DELETED
File without changes
|
spotdown-0.0.7/requirements.txt
DELETED
spotdown-0.0.7/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
|
-
raise RuntimeError("Unable to find version string in SpotDown/upload/version.py.")
|
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.run: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
|