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() {
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"
if [ "$IS_ROFI" -eq 1 ]; then
if [ $# -gt 0 ]; then
query="${*// /-}"
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:" \
-mesg "$(generate_span "$msg")" \
-config "$ROFI_CFG" < <(run_stmt "$stmt"))
@ -667,16 +669,17 @@ open_episode() {
stream() {
lg "Running stream()"
get_search_query
searched=0
# check if anime has been searched before
if [ "$#" -eq 0 ]; then
get_search_query
else
get_search_query "$*"
fi
anime_id="${query// /}"
[ -z "$anime_id" ] && die "No anime selected or queried"
searched=0
lg "Checking if anime: $anime_id has been searched before..."
check_db "search" "$anime_id"
searched="$?"
lg "Searched before: $searched"
if [ "$searched" -eq 0 ]; then
if check_db "search" "$anime_id"; then
lg "$anime_id has been searched before"
search_results=$(search_anime $query) # want word splitting to account for both input cases
[ -z "$search_results" ] && die "No search results found"
lg "SEARCH RESULTS: $search_results"
@ -684,12 +687,10 @@ stream() {
die "No anime selection found"
fi
else
# if the query is a previous search
# skip search_anime function and assign $query
anime_id="${query// /}"
# skip search_anime function and assign $query if previously searched
selection_id="$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
episode_selection
}
@ -796,7 +797,6 @@ parse_args() {
;;
esac
done
shift $((OPTIND - 1))
}
########
@ -806,7 +806,7 @@ main() {
case $scrape in
query)
BASE_URL="$(curl -s -L -o /dev/null -w "%{url_effective}\n" https://gogoanime.cm)"
stream
stream "$@"
;;
history)
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"
parse_args "$@"
main
shift $((OPTIND - 1))
main "$@"

View File

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