diff --git a/ani-cli b/ani-cli deleted file mode 100755 index 20d8d5d..0000000 --- a/ani-cli +++ /dev/null @@ -1,246 +0,0 @@ -#!/bin/sh - -# dependencies: sed curl vlc - -function jumpto () -{ - label=$1 - cmd=$(sed -n "/$label:/{:a;n;p;ba};" $0 | grep -v ':$') - eval "$cmd" - exit -} - -start: - -prog="ani-cli" - -c_red="\033[1;31m" -c_green="\033[1;32m" -c_yellow="\033[1;33m" -c_blue="\033[1;34m" -c_magenta="\033[1;35m" -c_cyan="\033[1;36m" -c_reset="\033[0m" - -help_text () { - while IFS= read line; do - printf "%s\n" "$line" - done <<-EOF - USAGE: $prog - -h show this help text - -d download episode - EOF -} - - -die () { - printf "$c_red%s$c_reset\n" "$*" >&2 - exit 1 -} - -search_anime () { - # get anime name along with its id - search=$1 - titlepattern=' - s_^[[:space:]]*/{ - s/.*href="([^"]*)".*/\1/p - q - }') - - curl -s "$dpage_url" | - sed -n -E ' - /^[[:space:]]*href="([^"]*\.mp4)".*/{ - s/^[[:space:]]*href="([^"]*\.mp4)".*/\1/p - q - } - ' -} - -dep_ch () { - for dep; do - if ! command -v "$dep" >/dev/null ; then - die "Program \"$dep\" not found. Please install it." - fi - done -} - -dep_ch "vlc" "curl" "sed" - -##################### -## Anime selection ## -##################### - -is_download=0 - -while getopts 'hd' OPT; do - case $OPT in - h) - help_text - exit 0 - ;; - d) - is_download=1 - ;; - esac -done - -shift $((OPTIND - 1)) - -#[ -z "$*" ] && { help_text ; die "Search query not provided"; } - -printf "${c_blue}Enter Anime name:${c_magenta} " - -read query - -search_results=$(search_anime "$query") - -[ -z "$search_results" ] && die "No search results found" - -# Creating menu - -menu_format_string='[%d] %s\n' -menu_format_string_c1="$c_blue[$c_cyan%d$c_blue] $c_reset%s\n" -menu_format_string_c2="$c_blue[$c_cyan%d$c_blue] $c_yellow%s$c_reset\n" - -count=1 -while read anime_id; do - # alternating colors for menu - [ $((count % 2)) -eq 0 ] && - menu_format_string=$menu_format_string_c1 || - menu_format_string=$menu_format_string_c2 - - printf "$menu_format_string" "$count" "$anime_id" - count=$((count+1)) -done </dev/null || die "Invalid number entered" - -# Select respective anime_id -count=1 -while read anime_id; do - if [ $count -eq $choice ]; then - selection_id=$anime_id - break - fi - count=$((count+1)) -done </dev/null || die "Invalid number entered" - - -while :; do - - if [ $ep_choice -lt 1 ] || [ $ep_choice -gt $last_ep_number ]; then - die "Episode out of range" - fi - - printf "Getting data for episode %d\n" $ep_choice - - video_url=$(get_links "$selection_id" "$ep_choice") - - case $video_url in - *streamtape*) - # If direct download not available then scrape streamtape.com - BROWSER=${BROWSER:-firefox} - printf "scraping streamtape.com\n" - video_url=$(curl -s "$video_url" | sed -n -E ' - /^