From 7ec9a84749730fba150a36d9ef19e7d066509438 Mon Sep 17 00:00:00 2001 From: Medvidek77 Date: Fri, 14 Feb 2025 00:32:17 +0100 Subject: [PATCH] Update tidler to 0.2 --- src/tidler | 50 ++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 38 insertions(+), 12 deletions(-) diff --git a/src/tidler b/src/tidler index 83d762b..9f55b91 100644 --- a/src/tidler +++ b/src/tidler @@ -1,8 +1,13 @@ -#!/usr/bin/sh +#!/bin/bash downloadTrack() { - echo "Downloading track with ID: $1" - id="$1" + if [ "$#" -ge 1 ]; then + echo "Downloading track with ID: $1" + id="$1" + else + echo "Enter track ID:" + read -r id + fi json_data=$(curl -s "https://tidal.401658.xyz/track/?id=$id&quality=LOSSLESS") track_name=$(echo "$json_data" | jq -r '.[0].title') artist_name=$(echo "$json_data" | jq -r '.[0].artist.name') @@ -14,8 +19,12 @@ downloadTrack() { } searchTrack() { - echo "Enter track name:" - read -r track_name + if [ "$#" -ge 1 ]; then + track_name="$1" + else + echo "Enter track name:" + read -r track_name + fi track_name=$(echo "$track_name" | sed 's/ /%20/g') tracks=$(curl -s "https://tidal.401658.xyz/search/?s=$track_name" | jq -r '.items[] | "\(.id) - \(.title) by \(.artist.name)"') @@ -24,7 +33,7 @@ searchTrack() { tracks_list+=("$list") done <<< "$tracks" - PS3="Please select a track: " + PS3="Please select a track:" select t in "${tracks_list[@]}"; do if [ -n "$t" ]; then track_id=$(echo "$t" | awk -F ' - ' '{print $1}') @@ -39,11 +48,28 @@ searchTrack() { echo "Welcome to Tidal music downloader" echo "" -echo "Choose: 1 = download ; 2 = search" -read option -if [ "$option" -eq 1 ]; then - downloadTrack -elif [ "$option" -eq 2 ]; then - searchTrack + +if [ "$1" = "search" ]; then + if [ "$#" -ge 2 ]; then + shift + jsw="$*" + searchTrack "$jsw" + else + searchTrack + fi +elif [ "$1" = "download" ]; then + if [ "$#" -ge 2 ]; then + downloadTrack "$2" + else + downloadTrack + fi +else + echo "Choose: 1 = download ; 2 = search" + read option + if [ "$option" -eq 1 ]; then + downloadTrack + elif [ "$option" -eq 2 ]; then + searchTrack + fi fi