mirror of
https://github.com/ksyasuda/aniwrapper.git
synced 2024-10-28 04:44:11 -07:00
Compare commits
3 Commits
b07948cee2
...
baeadacae6
Author | SHA1 | Date | |
---|---|---|---|
|
baeadacae6 | ||
|
2d9c070374 | ||
|
e25831fa44 |
131
ani-cli
131
ani-cli
@ -11,6 +11,7 @@ ANIWRAPPER_ICON_PATH="$CFG_DIR/icons/icon-64.png"
|
|||||||
MAISAN_ICON_PATH="$CFG_DIR/icons/MYsan.png"
|
MAISAN_ICON_PATH="$CFG_DIR/icons/MYsan.png"
|
||||||
DPI=96
|
DPI=96
|
||||||
VERBOSE=0
|
VERBOSE=0
|
||||||
|
SILENT=0
|
||||||
|
|
||||||
player_fn="mpv"
|
player_fn="mpv"
|
||||||
playable="\.mp4|\.mkv|\.ts|\.mp3|\.webm"
|
playable="\.mp4|\.mkv|\.ts|\.mp3|\.webm"
|
||||||
@ -36,17 +37,17 @@ help_text() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
die() {
|
die() {
|
||||||
printf "$c_red%s$c_reset\n" "$*" >&2
|
((SILENT != 1)) && printf "$c_red%s$c_reset\n" "$*" >&2
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
err() {
|
err() {
|
||||||
printf "$c_red%s$c_reset\n" "$*" >&2
|
((SILENT != 1)) && printf "$c_red%s$c_reset\n" "$*" >&2
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# prints passed in args to stdout if $VERBOSE is set to 1
|
||||||
lg() {
|
lg() {
|
||||||
# prints passed in args to stdout if $VERBOSE is set to 1
|
((VERBOSE == 1)) && printf "%s\n" "$*" >&2
|
||||||
[ "$VERBOSE" -eq 1 ] && printf "%s\n" "$*" >&2
|
|
||||||
}
|
}
|
||||||
|
|
||||||
check_input() {
|
check_input() {
|
||||||
@ -678,7 +679,7 @@ open_episode() {
|
|||||||
if command -v "notify-send" > /dev/null; then
|
if command -v "notify-send" > /dev/null; then
|
||||||
notify-send -i "$ANIWRAPPER_ICON_PATH" "Playing $anime_id - Episode $episode"
|
notify-send -i "$ANIWRAPPER_ICON_PATH" "Playing $anime_id - Episode $episode"
|
||||||
else
|
else
|
||||||
printf "${c_green}\nVideo playing"
|
((SILENT != 1)) && printf "${c_green}\nVideo playing"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
lg "Downloading episode $episode ..."
|
lg "Downloading episode $episode ..."
|
||||||
@ -695,9 +696,9 @@ open_episode() {
|
|||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
if aria2c --referer="$dpage_link" "$video_url" --dir="$dl_dir" -o "$episode.mp4" --download-result=hide; then
|
if aria2c --referer="$dpage_link" "$video_url" --dir="$dl_dir" -o "$episode.mp4" --download-result=hide; then
|
||||||
printf "${c_green}Downloaded complete for %s - Episode: %s${c_reset}\n" "${anime_id//-/ }" "$episode"
|
((SILENT != 1)) && printf "${c_green}Downloaded complete for %s - Episode: %s${c_reset}\n" "${anime_id//-/ }" "$episode"
|
||||||
else
|
else
|
||||||
printf "${c_red}Download failed for %s - Episode: %s, please retry or check your internet connection${c_reset}\n" "${anime_id//-/ }" "$episode"
|
((SILENT != 1)) && printf "${c_red}Download failed for %s - Episode: %s, please retry or check your internet connection${c_reset}\n" "${anime_id//-/ }" "$episode"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@ -743,7 +744,7 @@ parse_args() {
|
|||||||
is_download=0
|
is_download=0
|
||||||
download_dir="."
|
download_dir="."
|
||||||
half_ep=0
|
half_ep=0
|
||||||
while getopts 'hd:Hsvq:cf:t:T:CQ:D:' OPT; do
|
while getopts 'hd:Hsvq:cf:t:T:CQ:D:S' OPT; do
|
||||||
case "$OPT" in
|
case "$OPT" in
|
||||||
h)
|
h)
|
||||||
help_text
|
help_text
|
||||||
@ -832,6 +833,9 @@ parse_args() {
|
|||||||
D)
|
D)
|
||||||
DPI="$OPTARG"
|
DPI="$OPTARG"
|
||||||
;;
|
;;
|
||||||
|
S)
|
||||||
|
SILENT=1
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
printf "%s\n" "Invalid option"
|
printf "%s\n" "Invalid option"
|
||||||
exit 1
|
exit 1
|
||||||
@ -927,66 +931,67 @@ main() {
|
|||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
episode=${ep_choice_end:-$ep_choice_start}
|
if ((SILENT != 1)); then
|
||||||
|
episode=${ep_choice_end:-$ep_choice_start}
|
||||||
|
choice=''
|
||||||
|
while :; do
|
||||||
|
printf "\n${c_green}Currently playing %s episode ${c_cyan}%d/%d\n" "$selection_id" $episode $last_ep_number
|
||||||
|
if [ "$episode" -ne "$last_ep_number" ]; then
|
||||||
|
printf "$c_blue[${c_cyan}%s$c_blue] $c_yellow%s$c_reset\n" "n" "next episode"
|
||||||
|
fi
|
||||||
|
if [ "$episode" -ne "1" ]; then
|
||||||
|
printf "$c_blue[${c_cyan}%s$c_blue] $c_magenta%s$c_reset\n" "p" "previous episode"
|
||||||
|
fi
|
||||||
|
if [ "$last_ep_number" -ne "1" ]; then
|
||||||
|
printf "$c_blue[${c_cyan}%s$c_blue] $c_yellow%s$c_reset\n" "s" "select episode"
|
||||||
|
fi
|
||||||
|
printf "$c_blue[${c_cyan}%s$c_blue] $c_magenta%s$c_reset\n" "r" "replay current episode"
|
||||||
|
printf "$c_blue[${c_cyan}%s$c_blue] $c_yellow%s$c_reset\n" "a" "search for another anime"
|
||||||
|
# printf "$c_blue[${c_cyan}%s$c_blue] $c_magenta%s$c_reset\n" "h" "search history"
|
||||||
|
printf "$c_blue[${c_cyan}%s$c_blue] $c_red%s$c_reset\n" "q" "exit"
|
||||||
|
printf "${c_blue}Enter choice:${c_green} "
|
||||||
|
read -r choice
|
||||||
|
|
||||||
choice=''
|
printf "$c_reset"
|
||||||
while :; do
|
case $choice in
|
||||||
printf "\n${c_green}Currently playing %s episode ${c_cyan}%d/%d\n" "$selection_id" $episode $last_ep_number
|
n)
|
||||||
if [ "$episode" -ne "$last_ep_number" ]; then
|
episode=$((episode + 1))
|
||||||
printf "$c_blue[${c_cyan}%s$c_blue] $c_yellow%s$c_reset\n" "n" "next episode"
|
;;
|
||||||
fi
|
p)
|
||||||
if [ "$episode" -ne "1" ]; then
|
episode=$((episode - 1))
|
||||||
printf "$c_blue[${c_cyan}%s$c_blue] $c_magenta%s$c_reset\n" "p" "previous episode"
|
;;
|
||||||
fi
|
|
||||||
if [ "$last_ep_number" -ne "1" ]; then
|
|
||||||
printf "$c_blue[${c_cyan}%s$c_blue] $c_yellow%s$c_reset\n" "s" "select episode"
|
|
||||||
fi
|
|
||||||
printf "$c_blue[${c_cyan}%s$c_blue] $c_magenta%s$c_reset\n" "r" "replay current episode"
|
|
||||||
printf "$c_blue[${c_cyan}%s$c_blue] $c_yellow%s$c_reset\n" "a" "search for another anime"
|
|
||||||
# printf "$c_blue[${c_cyan}%s$c_blue] $c_magenta%s$c_reset\n" "h" "search history"
|
|
||||||
printf "$c_blue[${c_cyan}%s$c_blue] $c_red%s$c_reset\n" "q" "exit"
|
|
||||||
printf "${c_blue}Enter choice:${c_green} "
|
|
||||||
read -r choice
|
|
||||||
|
|
||||||
printf "$c_reset"
|
s)
|
||||||
case $choice in
|
printf "${c_blue}Choose episode $c_cyan[1-%d]$c_reset:$c_green " "$last_ep_number"
|
||||||
n)
|
read -r episode
|
||||||
episode=$((episode + 1))
|
if [ "$(echo "$episode" | cut -c1-1)" = "h" ]; then
|
||||||
;;
|
half_ep=1
|
||||||
p)
|
episode=$(echo "$episode" | cut -c2-)
|
||||||
episode=$((episode - 1))
|
fi
|
||||||
;;
|
printf "$c_reset"
|
||||||
|
[ "$episode" -eq "$episode" ] 2> /dev/null || die "Invalid number entered"
|
||||||
|
;;
|
||||||
|
|
||||||
s)
|
r)
|
||||||
printf "${c_blue}Choose episode $c_cyan[1-%d]$c_reset:$c_green " "$last_ep_number"
|
episode=$((episode))
|
||||||
read -r episode
|
;;
|
||||||
if [ "$(echo "$episode" | cut -c1-1)" = "h" ]; then
|
a)
|
||||||
half_ep=1
|
stream
|
||||||
episode=$(echo "$episode" | cut -c2-)
|
episode=$ep_choice_start
|
||||||
fi
|
lg "NEW EPISODE: $selection_id - $episode"
|
||||||
printf "$c_reset"
|
;;
|
||||||
[ "$episode" -eq "$episode" ] 2> /dev/null || die "Invalid number entered"
|
|
||||||
;;
|
|
||||||
|
|
||||||
r)
|
q)
|
||||||
episode=$((episode))
|
break
|
||||||
;;
|
;;
|
||||||
a)
|
|
||||||
stream
|
|
||||||
episode=$ep_choice_start
|
|
||||||
lg "NEW EPISODE: $selection_id - $episode"
|
|
||||||
;;
|
|
||||||
|
|
||||||
q)
|
*)
|
||||||
break
|
die "invalid choice"
|
||||||
;;
|
;;
|
||||||
|
esac
|
||||||
*)
|
open_episode "$selection_id" "$episode" "$download_dir"
|
||||||
die "invalid choice"
|
done
|
||||||
;;
|
fi
|
||||||
esac
|
|
||||||
open_episode "$selection_id" "$episode" "$download_dir"
|
|
||||||
done
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dep_ch "$player_fn" "curl" "sed" "grep" "sqlite3" "rofi" "git" "aria2c"
|
dep_ch "$player_fn" "curl" "sed" "grep" "sqlite3" "rofi" "git" "aria2c"
|
||||||
|
48
aniwrapper
48
aniwrapper
@ -20,6 +20,7 @@ IS_DOWNLOAD=0
|
|||||||
IS_PLAY_FROM_FILE=0
|
IS_PLAY_FROM_FILE=0
|
||||||
IS_ROFI=1
|
IS_ROFI=1
|
||||||
VERBOSE=0
|
VERBOSE=0
|
||||||
|
SILENT=0
|
||||||
|
|
||||||
quit="6. Quit"
|
quit="6. Quit"
|
||||||
options="1. Stream|2. Download|3. Continue|4. Play from File|5. Sync History|$quit"
|
options="1. Stream|2. Download|3. Continue|4. Play from File|5. Sync History|$quit"
|
||||||
@ -52,7 +53,7 @@ Options:
|
|||||||
}
|
}
|
||||||
|
|
||||||
lg() {
|
lg() {
|
||||||
if [[ "$VERBOSE" -eq 1 ]]; then
|
if ((VERBOSE == 1)); then
|
||||||
printf "%s\n" "$*"
|
printf "%s\n" "$*"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@ -68,22 +69,33 @@ quit() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
run() {
|
run() {
|
||||||
if [[ "$IS_PLAY_FROM_FILE" -eq 0 ]] && [[ "$GET_QUALITY" -eq 1 ]]; then
|
if ((IS_PLAY_FROM_FILE == 0 && GET_QUALITY == 1)); then
|
||||||
get_quality
|
get_quality
|
||||||
fi
|
fi
|
||||||
if [[ "$IS_CUSTOM_THEME" -eq 1 ]] && [[ "$VERBOSE" -eq 0 ]]; then
|
|
||||||
"$CMD" -D"$DPI" -q "$QUALITY" -T "$CFG_FILE" "$@"
|
if ((SILENT == 1)); then
|
||||||
elif [[ "$IS_CUSTOM_THEME" -eq 1 ]] && [[ "$VERBOSE" -eq 1 ]]; then
|
if ((IS_CUSTOM_THEME == 0)); then
|
||||||
"$CMD" -D"$DPI" -vq "$QUALITY" -T "$CFG_FILE" "$@"
|
"$CMD" -D"$DPI" -Sq "$QUALITY" -t "$theme" "$@"
|
||||||
elif [[ "$VERBOSE" -eq 0 ]]; then
|
else
|
||||||
"$CMD" -D"$DPI" -q "$QUALITY" -t "$theme" "$@"
|
"$CMD" -D"$DPI" -Sq "$QUALITY" -T "$CFG_FILE" "$@"
|
||||||
|
fi
|
||||||
|
elif ((VERBOSE == 1)); then
|
||||||
|
if ((IS_CUSTOM_THEME == 0)); then
|
||||||
|
"$CMD" -D"$DPI" -vq "$QUALITY" -t "$theme" "$@"
|
||||||
|
else
|
||||||
|
"$CMD" -D"$DPI" -vq "$QUALITY" -T "$CFG_FILE" "$@"
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
"$CMD" -D"$DPI" -vq "$QUALITY" -t "$theme" "$@"
|
if ((IS_CUSTOM_THEME == 0)); then
|
||||||
|
"$CMD" -D"$DPI" -q "$QUALITY" -t "$theme" "$@"
|
||||||
|
else
|
||||||
|
"$CMD" -D"$DPI" -q "$QUALITY" -T "$CFG_FILE" "$@"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
get_quality() {
|
get_quality() {
|
||||||
if [ "$IS_ROFI" -eq 1 ]; then
|
if ((IS_ROFI == 1)); then
|
||||||
selection=$(rofi -dpi "$DPI" -dmenu -config "$CFG_FILE" \
|
selection=$(rofi -dpi "$DPI" -dmenu -config "$CFG_FILE" \
|
||||||
-l 5 -selected-row 0 \
|
-l 5 -selected-row 0 \
|
||||||
-theme-str 'listview {columns: 1;}' -p "Choose video quality:" \
|
-theme-str 'listview {columns: 1;}' -p "Choose video quality:" \
|
||||||
@ -105,7 +117,7 @@ generate_span() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
parse_args() {
|
parse_args() {
|
||||||
while getopts 'vhqcdf:-:t:T:CQ:D:' OPT; do
|
while getopts 'vhqcdf:-:t:T:CQ:D:S' OPT; do
|
||||||
case "$OPT" in
|
case "$OPT" in
|
||||||
h)
|
h)
|
||||||
help_text
|
help_text
|
||||||
@ -186,6 +198,9 @@ parse_args() {
|
|||||||
D)
|
D)
|
||||||
DPI="$OPTARG"
|
DPI="$OPTARG"
|
||||||
;;
|
;;
|
||||||
|
S)
|
||||||
|
SILENT=1
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
help_text
|
help_text
|
||||||
exit 1
|
exit 1
|
||||||
@ -197,10 +212,13 @@ parse_args() {
|
|||||||
|
|
||||||
check_flags() {
|
check_flags() {
|
||||||
# Check if command-line flag is set
|
# Check if command-line flag is set
|
||||||
if [[ "$IS_ROFI" -eq 0 ]] && [[ "$IS_DOWNLOAD" -eq 0 ]]; then
|
if ((VERBOSE == 1 && SILENT == 1)); then
|
||||||
|
seppuku "verbose and silent options cannot be used together"
|
||||||
|
fi
|
||||||
|
if ((IS_ROFI == 0 && IS_DOWNLOAD == 0)); then
|
||||||
run -c
|
run -c
|
||||||
exit $?
|
exit $?
|
||||||
elif [[ "$IS_ROFI" -eq 0 ]] && [[ "$IS_DOWNLOAD" -eq 1 ]]; then
|
elif ((IS_ROFI == 0 && IS_DOWNLOAD == 1)); then
|
||||||
printf "%s" "Enter download dir: "
|
printf "%s" "Enter download dir: "
|
||||||
read -r dl_dir
|
read -r dl_dir
|
||||||
lg "Download dir: $dl_dir"
|
lg "Download dir: $dl_dir"
|
||||||
@ -209,10 +227,10 @@ check_flags() {
|
|||||||
fi
|
fi
|
||||||
run "-cd $dl_dir"
|
run "-cd $dl_dir"
|
||||||
exit $?
|
exit $?
|
||||||
elif [[ "$IS_ROFI" -eq 1 ]] && [[ "$IS_PLAY_FROM_FILE" -eq 1 ]] && [[ "$IS_CUSTOM_THEME" -eq 1 ]]; then
|
elif ((IS_ROFI == 1 && IS_PLAY_FROM_FILE == 1 && IS_CUSTOM_THEME == 1)); then
|
||||||
run "-f$play_path" -T "$CFG_FILE"
|
run "-f$play_path" -T "$CFG_FILE"
|
||||||
exit $?
|
exit $?
|
||||||
elif [[ "$IS_ROFI" -eq 1 ]] && [[ "$IS_PLAY_FROM_FILE" -eq 1 ]] && [[ "$IS_CUSTOM_THEME" -eq 0 ]]; then
|
elif ((IS_ROFI == 1 && IS_PLAY_FROM_FILE == 1 && IS_CUSTOM_THEME == 0)); then
|
||||||
run "-f$play_path" -t "$theme"
|
run "-f$play_path" -t "$theme"
|
||||||
exit $?
|
exit $?
|
||||||
fi
|
fi
|
||||||
|
Loading…
Reference in New Issue
Block a user