From 33ffd38d4670badc7d03d493d145256ec4f3aa27 Mon Sep 17 00:00:00 2001 From: octoshrimpy Date: Tue, 12 Sep 2023 18:46:08 +0200 Subject: [PATCH 1/8] updates readme with changes from GH PRs --- README.md | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index ec861e7..08fc101 100644 --- a/README.md +++ b/README.md @@ -3,10 +3,10 @@ ### A highly customizable music and podcast downloader.

- + Zotify logo

-### Featues +### Features - Downloads at up to 320kbps* - Downloads directly from the source** - Downloads podcasts, playlists, liked songs, albums, artists, singles. @@ -45,7 +45,8 @@ Basic options: -p, --playlist Downloads a saved playlist from your account -l, --liked Downloads all the liked songs from your account -f, --followed Downloads all songs by all artists you follow - -s, --search Searches for specified track, album, artist or playlist, loads search prompt if none are given. + -s, --search Searches for specified track, album, artist or playlist, loads search prompt if none are given. + -h, --help See this message. ``` ### Options @@ -82,7 +83,16 @@ Be aware you have to set boolean values in the commandline like this: `--downloa | PRINT_DOWNLOADS | --print-downloads | Print messages when a song is finished downloading | TEMP_DOWNLOAD_DIR | --temp-download-dir | Download tracks to a temporary directory first -*very-high is limited to premium only +*very-high is limited to premium only + +### Configuration + +You can find the configuration file in following locations: +| OS | Location +|-----------------|---------------------------------------------------------| +| Windows | `C:\Users\\AppData\Roaming\Zotify\config.json`| +| MacOS | `/Users//.config/zotify/config.json` | +| Linux | `/home//.config/zotify/config.json` | ### Output format @@ -133,7 +143,7 @@ If you see this, don't worry! Just try logging back in. If you see the incorrect Currently no user has reported their account getting banned after using Zotify. It is recommended you use Zotify with a burner account. -Alternatively, there is a configuration option labled ```DOWNLOAD_REAL_TIME```, this limits the download speed to the duration of the song being downloaded thus appearing less suspicious. +Alternatively, there is a configuration option labeled ```DOWNLOAD_REAL_TIME```, this limits the download speed to the duration of the song being downloaded thus appearing less suspicious. This option is much slower and is only recommended for premium users who wish to download songs in 320kbps without buying premium on a burner account. ### Disclaimer From 0e6ec3804fea47d7d6f3ac778b4c15958d09b382 Mon Sep 17 00:00:00 2001 From: octoshrimpy Date: Tue, 12 Sep 2023 18:47:53 +0200 Subject: [PATCH 2/8] updates app.py with changes from GH PRs --- zotify/app.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zotify/app.py b/zotify/app.py index 9f61b57..f15821b 100644 --- a/zotify/app.py +++ b/zotify/app.py @@ -152,7 +152,7 @@ def search(search_term): try: int(splits[index+1]) except ValueError: - raise ValueError('Paramater passed after {} option must be an integer.\n'. + raise ValueError('Parameter passed after {} option must be an integer.\n'. format(split)) if int(splits[index+1]) > 50: raise ValueError('Invalid limit passed. Max is 50.\n') From fbc020687a90bb4b2e651d0a241a361e0019bb16 Mon Sep 17 00:00:00 2001 From: octoshrimpy Date: Tue, 12 Sep 2023 19:09:20 +0200 Subject: [PATCH 3/8] add logout instructions --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 08fc101..30ab0eb 100644 --- a/README.md +++ b/README.md @@ -94,6 +94,8 @@ You can find the configuration file in following locations: | MacOS | `/Users//.config/zotify/config.json` | | Linux | `/home//.config/zotify/config.json` | +To log out, just remove the configuration file. + ### Output format With the option `OUTPUT` (or the commandline parameter `--output`) you can specify the output location and format. From 901582948eb3b2710b9611187ed0ea16e6553837 Mon Sep 17 00:00:00 2001 From: octoshrimpy Date: Tue, 12 Sep 2023 19:10:51 +0200 Subject: [PATCH 4/8] update skip-existing flag --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 30ab0eb..ecaf879 100644 --- a/README.md +++ b/README.md @@ -68,7 +68,7 @@ Be aware you have to set boolean values in the commandline like this: `--downloa | DOWNLOAD_FORMAT | --download-format | The download audio format (aac, fdk_aac, m4a, mp3, ogg, opus, vorbis) | DOWNLOAD_QUALITY | --download-quality | Audio quality of downloaded songs (normal, high, very_high*) | TRANSCODE_BITRATE | --transcode-bitrate | Overwrite the bitrate for ffmpeg encoding -| SKIP_EXISTING_FILES | --skip-existing-files | Skip songs with the same name +| SKIP_EXISTING_FILES | --skip-existing | Skip songs with the same name | SKIP_PREVIOUSLY_DOWNLOADED | --skip-previously-downloaded | Use a song_archive file to skip previously downloaded songs | RETRY_ATTEMPTS | --retry-attempts | Number of times Zotify will retry a failed request | BULK_WAIT_TIME | --bulk-wait-time | The wait time between bulk downloads From 0ba8ae0f01787bc66f00a7cdb7e9bbc1cdf23c7b Mon Sep 17 00:00:00 2001 From: octoshrimpy Date: Tue, 12 Sep 2023 19:12:03 +0200 Subject: [PATCH 5/8] uninstall does not remove config file --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ecaf879..664d8b0 100644 --- a/README.md +++ b/README.md @@ -94,7 +94,7 @@ You can find the configuration file in following locations: | MacOS | `/Users//.config/zotify/config.json` | | Linux | `/home//.config/zotify/config.json` | -To log out, just remove the configuration file. +To log out, just remove the configuration file. Uninstalling Zotify does not remove the config file. ### Output format From fe6de7698aeaacffdb609345c1b5361949ea115d Mon Sep 17 00:00:00 2001 From: octoshrimpy Date: Tue, 12 Sep 2023 19:13:30 +0200 Subject: [PATCH 6/8] attemps -> attempts --- zotify/config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zotify/config.py b/zotify/config.py index ff7e929..802d5ce 100644 --- a/zotify/config.py +++ b/zotify/config.py @@ -54,7 +54,7 @@ CONFIG_VALUES = { TRANSCODE_BITRATE: { 'default': 'auto', 'type': str, 'arg': '--transcode-bitrate' }, SKIP_EXISTING: { 'default': 'True', 'type': bool, 'arg': '--skip-existing' }, SKIP_PREVIOUSLY_DOWNLOADED: { 'default': 'False', 'type': bool, 'arg': '--skip-previously-downloaded' }, - RETRY_ATTEMPTS: { 'default': '1', 'type': int, 'arg': '--retry-attemps' }, + RETRY_ATTEMPTS: { 'default': '1', 'type': int, 'arg': '--retry-attempts' }, BULK_WAIT_TIME: { 'default': '1', 'type': int, 'arg': '--bulk-wait-time' }, OVERRIDE_AUTO_WAIT: { 'default': 'False', 'type': bool, 'arg': '--override-auto-wait' }, CHUNK_SIZE: { 'default': '20000', 'type': int, 'arg': '--chunk-size' }, From 4e6c425afad09e5282daba59f52bbd049d3e0a88 Mon Sep 17 00:00:00 2001 From: octoshrimpy Date: Tue, 12 Sep 2023 19:24:23 +0200 Subject: [PATCH 7/8] adds INSTALLATION.md --- INSTALLATION.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 INSTALLATION.md diff --git a/INSTALLATION.md b/INSTALLATION.md new file mode 100644 index 0000000..12a9e94 --- /dev/null +++ b/INSTALLATION.md @@ -0,0 +1,32 @@ +### Installing Zotify + +> **Windows** + +This guide uses *Scoop* (https://scoop.sh) to simplify installing prerequisites and *pipx* to manage Zotify itself. +There are other ways to install and run Zotify on Windows but this is the official recommendation, other methods of installation will not receive support. + +- Open PowerShell (cmd will not work) +- Install Scoop by running: + - `Set-ExecutionPolicy RemoteSigned -Scope CurrentUser` + - `irm get.scoop.sh | iex` +- After installing scoop run: `scoop install python ffmpeg-shared git` +- Install pipx: + - `python3 -m pip install --user pipx` + - `python3 -m pipx ensurepath` +Now close PowerShell and reopen it to ensure the pipx command is available. +- Install Zotify with: `pipx install https://get.zotify.xyz` +- Done! Use `zotify --help` for a basic list of commands or check the *README.md* file in Zotify's code repository for full documentation. + +> **macOS** +- Open the Terminal app +- Install *Homebrew* (https://brew.sh) by running: `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"` +- After installing Homebrew run: `brew install python@3.11 pipx ffmpeg git` +- Setup pipx: `pipx ensurepath` +- Install Zotify: `pipx install https://get.zotify.xyz` +- Done! Use `zotify --help` for a basic list of commands or check the README.md file in Zotify's code repository for full documentation. + +> **Linux (Most Popular Distributions)** +- Install `python3`, `pip` (if a separate package), `ffmpeg`, and `git` from your distribution's package manager or software center. +- Then install pipx, either from your package manager or through pip with: `python3 -m pip install --user pipx` +- Install Zotify `pipx install https://get.zotify.xyz` +- Done! Use `zotify --help` for a basic list of commands or check the README.md file in Zotify's code repository for full documentation. \ No newline at end of file From 2c8ed634c738a9ec2558d2572fd18467d9ec9be5 Mon Sep 17 00:00:00 2001 From: octoshrimpy Date: Tue, 12 Sep 2023 19:30:08 +0200 Subject: [PATCH 8/8] alumbs -> albums --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 664d8b0..7e18f23 100644 --- a/README.md +++ b/README.md @@ -40,8 +40,8 @@ Basic command line usage: zotify Downloads the track, album, playlist or podcast episode specified as a command line argument. If an artist url is given, all albums by specified artist will be downloaded. Can take multiple urls. Basic options: - (nothing) Download the tracks/alumbs/playlists URLs from the parameter - -d, --download Download all tracks/alumbs/playlists URLs from the specified file + (nothing) Download the tracks/albums/playlists URLs from the parameter + -d, --download Download all tracks/albums/playlists URLs from the specified file -p, --playlist Downloads a saved playlist from your account -l, --liked Downloads all the liked songs from your account -f, --followed Downloads all songs by all artists you follow