aboutsummaryrefslogtreecommitdiffstats
path: root/sys/nixpkgs/pkgs/scripts/source/specific/spodi
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-05-20 16:10:21 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-05-20 16:14:26 +0200
commit368cb6b0d25db2ae23be42ad51584de059997e51 (patch)
tree3282e45d3ebced63c8498a47e83a255c35de620b /sys/nixpkgs/pkgs/scripts/source/specific/spodi
parentrefactor(hm): Rename to `modules/home` (diff)
downloadnixos-config-368cb6b0d25db2ae23be42ad51584de059997e51.zip
refactor(sys): Modularize and move to `modules/system` or `pkgs`
Diffstat (limited to 'sys/nixpkgs/pkgs/scripts/source/specific/spodi')
-rwxr-xr-xsys/nixpkgs/pkgs/scripts/source/specific/spodi/sh/download.sh58
-rwxr-xr-xsys/nixpkgs/pkgs/scripts/source/specific/spodi/sh/update.sh52
-rwxr-xr-xsys/nixpkgs/pkgs/scripts/source/specific/spodi/spodi.sh71
3 files changed, 0 insertions, 181 deletions
diff --git a/sys/nixpkgs/pkgs/scripts/source/specific/spodi/sh/download.sh b/sys/nixpkgs/pkgs/scripts/source/specific/spodi/sh/download.sh
deleted file mode 100755
index fe9746c8..00000000
--- a/sys/nixpkgs/pkgs/scripts/source/specific/spodi/sh/download.sh
+++ /dev/null
@@ -1,58 +0,0 @@
-#!/usr/bin/env dash
-
-download_to_down() {
- DOWNLOAD_DIRECTORY="%XDG_MUSIC_DIR/down/spotify"
-
- already_downloaded_files="$(mktmp)"
- fd . "$DOWNLOAD_DIRECTORY" --exclude spotdl.log --exclude spotdl-errors.log >"$already_downloaded_files"
- if [ -z "$NO_CHECK" ] && [ "$(wc -l <"$already_downloaded_files")" -ne 0 ]; then
- die "something is already downloaded"
- fi
- # [ -e "$DOWNLOAD_DIRECTORY/spotdl.log" ] && rm "$DOWNLOAD_DIRECTORY/spotdl.log"
-
- download "$1" "$DOWNLOAD_DIRECTORY"
-}
-
-download() {
- download_url="$1"
- output_path="$2"
-
- config="$(mktmp)"
- cat <<EOF | clean >"$config"
-# Main options
---audio slider-kz bandcamp youtube-music piped youtube soundcloud
---lyrics genius musixmatch azlyrics synced
-
-# FFmpeg options
---ffmpeg ffmpeg
---threads 16
---bitrate 256k
-
-# Spotify options
---cache-path %XDG_CACHE_HOME/spotdl/.spotipy
-
-# Output options
---preload
---format opus
---output {artists}_-_{title}
---print-errors
---save-errors $output_path/spotdl-errors.log
-# TODO: Reactive whence spotdl support for these has improved <2023-12-19>
-# --generate-lrc
---overwrite skip
-
-# Misc options
---log-level INFO
-EOF
-
- cd "$output_path" || die "BUG: no $output_path"
- touch "$output_path/spotdl-errors.log"
-
- # The sub shell needs to be unquoted, as the arguments may not be treated as one.
- # shellcheck disable=2046
- unbuffer spotdl $(cat "$config") download "$download_url" | tee "$output_path/spotdl.log"
-
- [ -d ~/.spotdl ] && rm -r ~/.spotdl
-}
-
-# vim: ft=sh
diff --git a/sys/nixpkgs/pkgs/scripts/source/specific/spodi/sh/update.sh b/sys/nixpkgs/pkgs/scripts/source/specific/spodi/sh/update.sh
deleted file mode 100755
index a289cf58..00000000
--- a/sys/nixpkgs/pkgs/scripts/source/specific/spodi/sh/update.sh
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/usr/bin/env dash
-
-update() {
- UPDATE_DIRECTORY="%XDG_MUSIC_DIR/artists"
- UPDATE_CONFIG_FILE="%XDG_MUSIC_DIR/artists/update.conf"
-
- if ! [ -f "$UPDATE_CONFIG_FILE" ]; then
- error="$(
- cat <<EOF
-Please provide an update config file at: '$UPDATE_CONFIG_FILE'.
-
-The 'update.conf' file should follow this pattern:
-<path_to_artist>/<artist_name>|<spotify_url>
-
-All comments and empty lines are ignored
-EOF
- )"
- die "$error"
- fi
-
- config_file="$(mktmp)"
- clean "$UPDATE_CONFIG_FILE" >"$config_file"
-
- while IFS="|" read -r artist url; do
- full_artist="$UPDATE_DIRECTORY/$artist"
- [ -d "$full_artist" ] || mkdir --parents "$full_artist"
- [ -d "$full_artist/update" ] || mkdir --parents "$full_artist/update"
- [ -d "$full_artist/all" ] || mkdir --parents "$full_artist/all"
- [ -d "$full_artist/filtered" ] || mkdir --parents "$full_artist/filtered"
-
- while read -r file; do
- ln --symbolic --relative "$file" "$full_artist/update/$(basename "$file")"
- done <"$(tmp fd --type file --extension opus . "$full_artist/all")"
-
- msg2 "Updating $artist with url: '$url'"
- download "$url" "$full_artist/update"
-
- while read -r file; do
- mv "$file" "$full_artist/all"
- ln --symbolic --relative "$full_artist/all/$(basename "$file")" "$full_artist/filtered/$(basename "$file")"
- done <"$(tmp fd --type file --extension opus . "$full_artist/update")"
-
- while read -r file; do
- rm "$file"
- done <"$(tmp fd --type symlink --extension opus . "$full_artist/update")"
-
- cp "$full_artist/update/spotdl.log" "$full_artist/all/spotdl.$(date +%Y_%m_%d).log"
- cp "$full_artist/update/spotdl-errors.log" "$full_artist/all/spotdl-errors.$(date +%Y_%m_%d).log"
- done <"$config_file"
-}
-
-# vim: ft=sh
diff --git a/sys/nixpkgs/pkgs/scripts/source/specific/spodi/spodi.sh b/sys/nixpkgs/pkgs/scripts/source/specific/spodi/spodi.sh
deleted file mode 100755
index 475fd48a..00000000
--- a/sys/nixpkgs/pkgs/scripts/source/specific/spodi/spodi.sh
+++ /dev/null
@@ -1,71 +0,0 @@
-#!/usr/bin/env dash
-
-# shellcheck source=/dev/null
-SHELL_LIBRARY_VERSION="2.1.2" . %SHELL_LIBRARY_PATH
-
-# these are used in version()
-# shellcheck disable=2034
-AUTHORS="Soispha"
-# shellcheck disable=2034
-YEARS="2023"
-
-# load dependencies
-. ./sh/update.sh
-. ./sh/download.sh
-
-help() {
- cat <<EOF
-This is a small wrapper around downloading things from spotify
-
-USAGE:
- $NAME [OPTIONS] COMMAND
-
-OPTIONS:
- --help | -h
- Display this help and exit.
-
- --version | -v
- Display version and copyright information and exit.
-COMMANDS:
- update
- Read the artist.conf file and download all newly released things
-
- download URL
- Download a specific url to the DOWNLOAD_DIRECTORY
-EOF
-}
-
-for arg in "$@"; do
- case "$arg" in
- "--help" | "-h")
- help
- exit 0
- ;;
- "--version" | "-v")
- version
- exit 0
- ;;
- esac
-done
-
-case "$1" in
-"update")
- shift 1
- update
- exit 0
- ;;
-"download")
- shift 1
- download_url="$1"
- [ -z "$download_url" ] && die "You need to provide a download url"
- download_to_down "$download_url"
- exit 0
- ;;
-*)
- die "Command '$1' is not know"
- help
- exit 1
- ;;
-esac
-
-# vim: ft=sh