Merge remote-tracking branch 'upstream/main'

This commit is contained in:
dabreadman 2021-10-26 18:06:58 +00:00
commit d441843125
4 changed files with 41 additions and 18 deletions

View File

@ -1,23 +1,23 @@
name: Pylint name: Pylint
on: [push] # yamllint disable-line rule:truthy
on: [push, pull_request]
jobs: jobs:
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: Set up Python 3.9 - name: Setup Python
uses: actions/setup-python@v2 uses: actions/setup-python@v2
with: with:
python-version: 3.9 python-version: 3.9
- name: Install dependencies - name: Setup Pylint
run: | run: |
python -m pip install --upgrade pip python -m pip install --upgrade pip
pip install pylint pip install pylint
pip install -r requirements.txt pip install -r requirements.txt
- name: Analysing the code with pylint - name: Run Pylint
run: | run: |
pylint $(git ls-files '*.py') pylint $(git ls-files '*.py')

9
COMMON_ERRORS.md Normal file
View File

@ -0,0 +1,9 @@
# Introduction
Below will contain sets of errors that you might get running zspotify. Below will also contain possible fixes to these errors. It is advisable that you read this before posting your error in any support channel.
## AttributeError: module 'google.protobuf.descriptor' has no attribute '\_internal_create_key
_Answer(s):_
`pip install --upgrade protobuf`

View File

@ -1,14 +1,17 @@
![Stars](https://img.shields.io/github/stars/Footsiefat/zspotify.svg) ![Stars](https://img.shields.io/github/stars/Footsiefat/zspotify.svg)
![Forks](https://img.shields.io/github/forks/Footsiefat/zspotify.svg) ![Forks](https://img.shields.io/github/forks/Footsiefat/zspotify.svg)
![Size](https://img.shields.io/github/repo-size/Footsiefat/zspotify) ![Size](https://img.shields.io/github/repo-size/Footsiefat/zspotify)
# ZSpotify # ZSpotify
### A Spotify downloader needing only a python interpreter and ffmpeg. ### A Spotify downloader needing only a python interpreter and ffmpeg.
<p align="center"> <p align="center">
<img src="https://user-images.githubusercontent.com/12180913/138040605-c9d46e45-3830-4a4b-a7ac-c56bb0d76335.png"> <img src="https://user-images.githubusercontent.com/12180913/138040605-c9d46e45-3830-4a4b-a7ac-c56bb0d76335.png">
</p> </p>
[Discord Server](https://discord.gg/skVNQKtyFq) - [Matrix Server](https://matrix.to/#/#zspotify:matrix.org) - [Gitea Mirror](https://git.robinsmediateam.dev/Footsiefat/zspotify) - [Main Site](https://footsiefat.github.io/) [Discord Server](https://discord.gg/skVNQKtyFq) - [Matrix Server](https://matrix.to/#/#zspotify:matrix.org) - [Gitea Mirror](https://git.robinsmediateam.dev/Footsiefat/zspotify) - [Main Site](https://footsiefat.github.io/)
``` ```
Requirements: Requirements:
@ -29,6 +32,7 @@ Python packages:
\*\*Git can be installed via apt for Debian-based distros or by downloading the binaries from [git-scm.com](https://git-scm.com/download/win) for Windows. \*\*Git can be installed via apt for Debian-based distros or by downloading the binaries from [git-scm.com](https://git-scm.com/download/win) for Windows.
### Command line usage: ### Command line usage:
``` ```
Basic usage: Basic usage:
python zspotify Loads search prompt to find then download a specific track, album or playlist python zspotify Loads search prompt to find then download a specific track, album or playlist
@ -56,22 +60,32 @@ Options that can be configured in zs_config.json:
### Docker Usage ### Docker Usage
``` ```
Build the docker image from the Dockerfile: Pull the official docker image (automatically updates):
docker pull cooper7692/zspotify-docker
Or build the docker image yourself from the Dockerfile:
docker build -t zspotify . docker build -t zspotify .
Create and run a container from the image: Create and run a container from the image:
docker run --rm -v "$PWD/ZSpotify Music:/ZSpotify Music" -v "$PWD/ZSpotify Podcasts:/ZSpotify Podcasts" -it zspotify docker run --rm -v "$PWD/ZSpotify Music:/ZSpotify Music" -v "$PWD/ZSpotify Podcasts:/ZSpotify Podcasts" -it zspotify
``` ```
### Will my account get banned if I use this tool? ### Will my account get banned if I use this tool?
Currently no user has reported their account getting banned after using ZSpotify. Currently no user has reported their account getting banned after using ZSpotify.
This isn't to say _you_ won't get banned as it is technically against Spotify's TOS. This isn't to say _you_ won't get banned as it is technically against Spotify's TOS.
**Use ZSpotify at your own risk**, the developers of ZSpotify are not responsible if your account gets banned. **Use ZSpotify at your own risk**, the developers of ZSpotify are not responsible if your account gets banned.
### What do I do if I see "Your session has been terminated"? ### What do I do if I see "Your session has been terminated"?
If you see this, don't worry! Just try logging back in. If you see the incorrect username or password error, reset your password and you should be able to log back in and continue using Spotify. If you see this, don't worry! Just try logging back in. If you see the incorrect username or password error, reset your password and you should be able to log back in and continue using Spotify.
### Contributing ### Contributing
Please refer to [CONTRIBUTING](CONTRIBUTING.md) Please refer to [CONTRIBUTING](CONTRIBUTING.md)
### Changelog ### Changelog
Please refer to [CHANGELOG](CHANGELOG.md) Please refer to [CHANGELOG](CHANGELOG.md)
### Common Errors
Please refer to [COMMON_ERRORS](COMMON_ERRORS.md)

View File

@ -33,7 +33,7 @@ def get_album_name(album_id):
def get_artist_albums(artist_id): def get_artist_albums(artist_id):
""" Returns artist's albums """ """ Returns artist's albums """
resp = ZSpotify.invoke_url(f'{ARTIST_URL}/{artist_id}/albums') resp = ZSpotify.invoke_url(f'{ARTIST_URL}/{artist_id}/albums?include_groups=album%2Csingle')
# Return a list each album's id # Return a list each album's id
album_ids = [resp[ITEMS][i][ID] for i in range(len(resp[ITEMS]))] album_ids = [resp[ITEMS][i][ID] for i in range(len(resp[ITEMS]))]
# Recursive requests to get all albums including singles an EPs # Recursive requests to get all albums including singles an EPs