SpotDown 0.0.8__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.8/SpotDown.egg-info → spotdown-0.1.0}/PKG-INFO +8 -12
- {spotdown-0.0.8 → spotdown-0.1.0}/README.md +7 -9
- spotdown-0.1.0/SpotDown/__init__.py +7 -0
- {spotdown-0.0.8 → spotdown-0.1.0/SpotDown.egg-info}/PKG-INFO +8 -12
- {spotdown-0.0.8 → 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.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/requirements.txt +0 -8
- spotdown-0.0.8/setup.py +0 -46
- {spotdown-0.0.8 → spotdown-0.1.0}/LICENSE +0 -0
- {spotdown-0.0.8/SpotDown → spotdown-0.1.0/SpotDown/downloader}/__init__.py +0 -0
- {spotdown-0.0.8 → spotdown-0.1.0}/SpotDown/downloader/youtube_downloader.py +0 -0
- {spotdown-0.0.8 → spotdown-0.1.0}/SpotDown/extractor/__init__.py +0 -0
- {spotdown-0.0.8 → spotdown-0.1.0}/SpotDown/extractor/spotify_extractor.py +0 -0
- {spotdown-0.0.8 → spotdown-0.1.0}/SpotDown/extractor/youtube_extractor.py +0 -0
- {spotdown-0.0.8 → spotdown-0.1.0}/SpotDown/main.py +0 -0
- {spotdown-0.0.8 → spotdown-0.1.0}/SpotDown/utils/__init__.py +0 -0
- {spotdown-0.0.8 → spotdown-0.1.0}/SpotDown/utils/config_json.py +0 -0
- {spotdown-0.0.8 → spotdown-0.1.0}/SpotDown/utils/console_utils.py +0 -0
- {spotdown-0.0.8 → spotdown-0.1.0}/SpotDown/utils/file_utils.py +0 -0
- {spotdown-0.0.8 → spotdown-0.1.0}/SpotDown/utils/headers.py +0 -0
- {spotdown-0.0.8 → spotdown-0.1.0}/SpotDown.egg-info/dependency_links.txt +0 -0
- {spotdown-0.0.8 → spotdown-0.1.0}/SpotDown.egg-info/requires.txt +0 -0
- {spotdown-0.0.8 → spotdown-0.1.0}/SpotDown.egg-info/top_level.txt +0 -0
- {spotdown-0.0.8 → 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,7 +20,6 @@ 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
|
@@ -54,21 +52,19 @@ Dynamic: requires-python
|
|
54
52
|
## 📋 Table of Contents
|
55
53
|
|
56
54
|
- [✨ Features](#features)
|
57
|
-
- [🛠️ Installation](
|
55
|
+
- [🛠️ Installation](#️installation)
|
58
56
|
- [⚙️ Configuration](#configuration)
|
59
57
|
- [💻 Usage](#usage)
|
60
|
-
- [📁 Project Structure](#project-structure)
|
61
|
-
- [🔧 Dependencies](#dependencies)
|
62
58
|
- [⚠️ Disclaimer](#disclaimer)
|
63
59
|
|
64
|
-
##
|
60
|
+
## Features
|
65
61
|
|
66
62
|
- 🎵 **Download individual songs** from Spotify
|
67
63
|
- 📋 **Download entire playlists** with ease
|
68
64
|
- 🔍 **No authentication required** - uses web scraping
|
69
65
|
- 🎨 **Automatic cover art embedding** (JPEG format)
|
70
66
|
|
71
|
-
##
|
67
|
+
## Installation
|
72
68
|
|
73
69
|
### Prerequisites
|
74
70
|
|
@@ -99,7 +95,7 @@ if __name__ == "__main__":
|
|
99
95
|
main()
|
100
96
|
```
|
101
97
|
|
102
|
-
##
|
98
|
+
## Configuration
|
103
99
|
|
104
100
|
SpotDown uses a JSON configuration file with the following structure:
|
105
101
|
|
@@ -134,7 +130,7 @@ SpotDown uses a JSON configuration file with the following structure:
|
|
134
130
|
- **`headless`**: Run browser in background (recommended: true)
|
135
131
|
- **`timeout`**: Browser timeout in seconds
|
136
132
|
|
137
|
-
##
|
133
|
+
## Usage
|
138
134
|
|
139
135
|
### Basic Usage
|
140
136
|
|
@@ -157,13 +153,13 @@ python run.py
|
|
157
153
|
2. Paste the Spotify playlist URL when prompted
|
158
154
|
3. All songs in the playlist will be downloaded automatically
|
159
155
|
|
160
|
-
##
|
156
|
+
## To Do
|
161
157
|
|
162
158
|
- [ ] Implement batch download queue
|
163
159
|
- [ ] Add GUI interface option
|
164
160
|
- [ ] Support for additional music platforms
|
165
161
|
|
166
|
-
##
|
162
|
+
## Disclaimer
|
167
163
|
|
168
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.
|
169
165
|
|
@@ -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,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,7 +20,6 @@ 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
|
@@ -54,21 +52,19 @@ Dynamic: requires-python
|
|
54
52
|
## 📋 Table of Contents
|
55
53
|
|
56
54
|
- [✨ Features](#features)
|
57
|
-
- [🛠️ Installation](
|
55
|
+
- [🛠️ Installation](#️installation)
|
58
56
|
- [⚙️ Configuration](#configuration)
|
59
57
|
- [💻 Usage](#usage)
|
60
|
-
- [📁 Project Structure](#project-structure)
|
61
|
-
- [🔧 Dependencies](#dependencies)
|
62
58
|
- [⚠️ Disclaimer](#disclaimer)
|
63
59
|
|
64
|
-
##
|
60
|
+
## Features
|
65
61
|
|
66
62
|
- 🎵 **Download individual songs** from Spotify
|
67
63
|
- 📋 **Download entire playlists** with ease
|
68
64
|
- 🔍 **No authentication required** - uses web scraping
|
69
65
|
- 🎨 **Automatic cover art embedding** (JPEG format)
|
70
66
|
|
71
|
-
##
|
67
|
+
## Installation
|
72
68
|
|
73
69
|
### Prerequisites
|
74
70
|
|
@@ -99,7 +95,7 @@ if __name__ == "__main__":
|
|
99
95
|
main()
|
100
96
|
```
|
101
97
|
|
102
|
-
##
|
98
|
+
## Configuration
|
103
99
|
|
104
100
|
SpotDown uses a JSON configuration file with the following structure:
|
105
101
|
|
@@ -134,7 +130,7 @@ SpotDown uses a JSON configuration file with the following structure:
|
|
134
130
|
- **`headless`**: Run browser in background (recommended: true)
|
135
131
|
- **`timeout`**: Browser timeout in seconds
|
136
132
|
|
137
|
-
##
|
133
|
+
## Usage
|
138
134
|
|
139
135
|
### Basic Usage
|
140
136
|
|
@@ -157,13 +153,13 @@ python run.py
|
|
157
153
|
2. Paste the Spotify playlist URL when prompted
|
158
154
|
3. All songs in the playlist will be downloaded automatically
|
159
155
|
|
160
|
-
##
|
156
|
+
## To Do
|
161
157
|
|
162
158
|
- [ ] Implement batch download queue
|
163
159
|
- [ ] Add GUI interface option
|
164
160
|
- [ ] Support for additional music platforms
|
165
161
|
|
166
|
-
##
|
162
|
+
## Disclaimer
|
167
163
|
|
168
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.
|
169
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.8/MANIFEST.in
DELETED
File without changes
|
spotdown-0.0.8/requirements.txt
DELETED
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
|