Compare commits

..

2 Commits

Author SHA1 Message Date
ksyasuda
d8b5f2b94a update aniwrapper to allow passing in search query for stream/download 2022-02-04 18:18:05 -08:00
ksyasuda
7c71e05317 update ani-cli to allow passing in search query 2022-02-04 17:58:08 -08:00
2 changed files with 47 additions and 35 deletions

35
ani-cli
View File

@ -405,9 +405,11 @@ find_media() {
##################### #####################
get_search_query() { get_search_query() {
stmt="SELECT DISTINCT id || '. ' || anime_name FROM search_history ORDER BY search_date DESC;" if [ $# -gt 0 ]; then
msg="Choose from list of searched anime below, or enter a unique name of an anime to search for" query="${*// /-}"
if [ "$IS_ROFI" -eq 1 ]; then elif [ "$IS_ROFI" -eq 1 ]; then
stmt="SELECT DISTINCT id || '. ' || anime_name FROM search_history ORDER BY search_date DESC;"
msg="Choose from list of searched anime below, or enter a unique name of an anime to search for"
query=$(rofi -dpi "$DPI" -dmenu -l 15 -p "Search Anime:" \ query=$(rofi -dpi "$DPI" -dmenu -l 15 -p "Search Anime:" \
-mesg "$(generate_span "$msg")" \ -mesg "$(generate_span "$msg")" \
-config "$ROFI_CFG" < <(run_stmt "$stmt")) -config "$ROFI_CFG" < <(run_stmt "$stmt"))
@ -667,16 +669,17 @@ open_episode() {
stream() { stream() {
lg "Running stream()" lg "Running stream()"
get_search_query if [ "$#" -eq 0 ]; then
searched=0 get_search_query
# check if anime has been searched before else
get_search_query "$*"
fi
anime_id="${query// /}" anime_id="${query// /}"
[ -z "$anime_id" ] && die "No anime selected or queried" [ -z "$anime_id" ] && die "No anime selected or queried"
searched=0
lg "Checking if anime: $anime_id has been searched before..." lg "Checking if anime: $anime_id has been searched before..."
check_db "search" "$anime_id" if check_db "search" "$anime_id"; then
searched="$?" lg "$anime_id has been searched before"
lg "Searched before: $searched"
if [ "$searched" -eq 0 ]; then
search_results=$(search_anime $query) # want word splitting to account for both input cases search_results=$(search_anime $query) # want word splitting to account for both input cases
[ -z "$search_results" ] && die "No search results found" [ -z "$search_results" ] && die "No search results found"
lg "SEARCH RESULTS: $search_results" lg "SEARCH RESULTS: $search_results"
@ -684,12 +687,10 @@ stream() {
die "No anime selection found" die "No anime selection found"
fi fi
else else
# if the query is a previous search # skip search_anime function and assign $query if previously searched
# skip search_anime function and assign $query
anime_id="${query// /}"
selection_id="$anime_id" selection_id="$anime_id"
insert_history "search" "$anime_id" & insert_history "search" "$anime_id" &
read -r last_ep_number <<< "$(search_eps "$selection_id")" read -r last_ep_number < <(search_eps "$anime_id")
fi fi
episode_selection episode_selection
} }
@ -796,7 +797,6 @@ parse_args() {
;; ;;
esac esac
done done
shift $((OPTIND - 1))
} }
######## ########
@ -806,7 +806,7 @@ main() {
case $scrape in case $scrape in
query) query)
BASE_URL="$(curl -s -L -o /dev/null -w "%{url_effective}\n" https://gogoanime.cm)" BASE_URL="$(curl -s -L -o /dev/null -w "%{url_effective}\n" https://gogoanime.cm)"
stream stream "$@"
;; ;;
history) history)
BASE_URL="$(curl -s -L -o /dev/null -w "%{url_effective}\n" https://gogoanime.cm)" BASE_URL="$(curl -s -L -o /dev/null -w "%{url_effective}\n" https://gogoanime.cm)"
@ -979,4 +979,5 @@ main() {
dep_ch "$player_fn" "curl" "sed" "grep" "sqlite3" "rofi" "git" "aria2c" dep_ch "$player_fn" "curl" "sed" "grep" "sqlite3" "rofi" "git" "aria2c"
parse_args "$@" parse_args "$@"
main shift $((OPTIND - 1))
main "$@"

View File

@ -73,7 +73,6 @@ run() {
if ((IS_PLAY_FROM_FILE == 0 && GET_QUALITY == 1)); then if ((IS_PLAY_FROM_FILE == 0 && GET_QUALITY == 1)); then
get_quality get_quality
fi fi
if ((SILENT == 1)); then if ((SILENT == 1)); then
if ((IS_CUSTOM_THEME == 0)); then if ((IS_CUSTOM_THEME == 0)); then
"$CMD" -D"$DPI" -Sq "$QUALITY" -t "$theme" "$@" "$CMD" -D"$DPI" -Sq "$QUALITY" -t "$theme" "$@"
@ -218,7 +217,6 @@ parse_args() {
;; ;;
esac esac
done done
} }
check_flags() { check_flags() {
@ -227,7 +225,7 @@ check_flags() {
seppuku "verbose and silent options cannot be used together" seppuku "verbose and silent options cannot be used together"
fi fi
if ((IS_ROFI == 0 && IS_DOWNLOAD == 0)); then if ((IS_ROFI == 0 && IS_DOWNLOAD == 0)); then
run -c run -c "$@"
exit $? exit $?
elif ((IS_ROFI == 0 && IS_DOWNLOAD == 1)); then elif ((IS_ROFI == 0 && IS_DOWNLOAD == 1)); then
printf "%s" "Enter download dir: " printf "%s" "Enter download dir: "
@ -236,21 +234,33 @@ check_flags() {
if [ ! -d "$dl_dir" ]; then if [ ! -d "$dl_dir" ]; then
mkdir -p "$dl_dir" || seppuku "Error creating directory: $dl_dir" mkdir -p "$dl_dir" || seppuku "Error creating directory: $dl_dir"
fi fi
run "-cd $dl_dir" run "-cd $dl_dir" "$@"
exit $? exit $?
elif ((IS_ROFI == 1 && IS_PLAY_FROM_FILE == 1 && IS_CUSTOM_THEME == 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 == 1 && IS_PLAY_FROM_FILE == 1 && IS_CUSTOM_THEME == 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
} }
get_dl_dir() {
dl_dir=$(
rofi -dpi "$DPI" -dmenu -config "$CFG_FILE" \
-mesg "$(generate_span "Enter the path to the download directory, or leave blank to go with the default: $HOME/Videos/sauce/")" \
-l 1 -p "Enter download dir:"
)
# if dl_dir is none set to current directory
[ "$dl_dir" == "" ] && dl_dir="$DEFAULT_DOWNLOAD"
}
######## ########
# Main # # Main #
######## ########
main() { main() {
((SILENT != 1)) && lg "CONFIG DIR: $CFG_DIR"
((SILENT != 1)) && lg "ROFI CFG: $CFG_FILE"
choice=$(echo "${options[@]}" | rofi -dpi "$DPI" -dmenu -only-match -sep '|' \ choice=$(echo "${options[@]}" | rofi -dpi "$DPI" -dmenu -only-match -sep '|' \
-config "$CFG_FILE" -l 7 -i -p "Aniwrapper") -config "$CFG_FILE" -l 7 -i -p "Aniwrapper")
@ -271,14 +281,7 @@ main() {
# download # download
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
lg "Download anime" lg "Download anime"
dl_dir=$( get_dl_dir && run -d "$dl_dir"
rofi -dpi "$DPI" -dmenu -config "$CFG_FILE" \
-mesg "$(generate_span "Enter the path to the download directory, or leave blank to go with the default: $HOME/Videos/sauce/")" \
-l 1 -p "Enter download dir:"
)
# if dl_dir is none set to current directory
[ "$dl_dir" == "" ] && dl_dir="$DEFAULT_DOWNLOAD"
run -d "$dl_dir"
;; ;;
3.) 3.)
@ -348,7 +351,15 @@ main() {
} }
parse_args "$@" parse_args "$@"
((SILENT != 1)) && lg "CONFIG DIR: $CFG_DIR" shift $((OPTIND - 1))
((SILENT != 1)) && lg "ROFI CFG: $CFG_FILE" if [ $# -gt 0 ]; then
check_flags check_flags "$*"
main if [ "$IS_DOWNLOAD" -eq 0 ]; then
run "$*"
elif [ "$IS_DOWNLOAD" -eq 1 ]; then
get_dl_dir && run -d "$dl_dir" "$*"
fi
else
check_flags
main
fi