Merge branch 'master' of github.com:ksyasuda/aniwrapper

This commit is contained in:
ksyasuda 2021-11-21 21:44:17 -08:00
commit ee507bd220
3 changed files with 56 additions and 37 deletions

View File

@ -16,9 +16,10 @@
- [Introduction](#introduction) - [Introduction](#introduction)
- [Setup](#setup) - [Setup](#setup)
- [Dependencies](#dependencies) - [Dependencies](#dependencies)
- [Arch Linux](#arch-linux)
- [Installing](#installing) - [Installing](#installing)
- [`aniwrapper` Menus](#aniwrapper-menus) - [Arch Linux](#arch-linux)
- [Manual Install](#manual-install)
- [Aniwrapper Menus](#aniwrapper-menus)
- [Search Anime](#search-anime) - [Search Anime](#search-anime)
- [Anime Selection](#anime-selection) - [Anime Selection](#anime-selection)
- [Episode Selection](#episode-selection) - [Episode Selection](#episode-selection)
@ -28,6 +29,7 @@
- [Option 2: Download](#option-2-download) - [Option 2: Download](#option-2-download)
- [Option 3: Continue](#option-3-continue) - [Option 3: Continue](#option-3-continue)
- [Option 4: Playlist](#option-4-playlist) - [Option 4: Playlist](#option-4-playlist)
- [Option 5: Sync History](#option-5-sync-history)
- [ani-cli Script](#ani-cli-script) - [ani-cli Script](#ani-cli-script)
- [Screenshots](#screenshots) - [Screenshots](#screenshots)
@ -72,41 +74,57 @@ These are the minimum dependences required to run `aniwrapper`
- meh.rasi (installed in setup.sh) - meh.rasi (installed in setup.sh)
- sqlite3 - sqlite3
## Installing
### Arch Linux ### Arch Linux
`aniwrapper-git` is available on the AUR for Arch users
```sh
paru -S aniwrapper-git
or
yay -S aniwrapper-git
```
### Manual Install
To install manually, make sure the dependencies are installed first
The folowing command can be used on Arch Linux to ensure the prereqisites are installed
```sh ```sh
pacman -S --needed grep curl sed mpv ffmpeg rofi sqlite3 pacman -S --needed grep curl sed mpv ffmpeg rofi sqlite3
``` ```
## Installing Next, clone the Git repository and switch directories into the cloned repo
```sh ```sh
git clone https://github.com/ksyasuda/aniwrapper git clone https://github.com/ksyasuda/aniwrapper
cd aniwrapper cd aniwrapper
``` ```
After cloning and switching into the `aniwrapper` directory, run the following commands to set up and install the script After switching into the `aniwrapper` directory, run the following commands to set up and install the script
```sh ```sh
chmod +x setup.sh chmod +x setup.sh
./setup.sh && sudo make install ./setup.sh && sudo make install
``` ```
## `aniwrapper` Menus # Aniwrapper Menus
There are several menus used to drive the program forward There are several menus used to drive the program forward
### Search Anime ## Search Anime
The first menu consists of a search box and a list of anime titles corresponding to past valid searches. Choose an option from the menu, or enter in a unique search query to search for a new anime. The result from this will be used to query against `gogoanime` and return similar named anime The first menu consists of a search box and a list of anime titles corresponding to past valid searches. Choose an option from the menu, or enter in a unique search query to search for a new anime. The result from this will be used to query against `gogoanime` and return similar named anime
### Anime Selection ## Anime Selection
The next menu is where you select the anime to watch from a narrowed down list. Elements that have a blue border and text color indicate which anime have been watched before The next menu is where you select the anime to watch from a narrowed down list. Elements that have a blue border and text color indicate which anime have been watched before
- _In the future, I'd like to make it so if you select an option from the list of previously searched anime, then it will skip this and go on to episode selection_ - _In the future, I'd like to make it so if you select an option from the list of previously searched anime, then it will skip this and go on to episode selection_
### Episode Selection ## Episode Selection
In the episode selection menu, you can select an individual episode from the list, provide a single episode, or provide a range of episodes as two space separated integers `start_episode end_episode`. Like in the previous menu, any element with a blue border and text-color indicates that episode has been watched before In the episode selection menu, you can select an individual episode from the list, provide a single episode, or provide a range of episodes as two space separated integers `start_episode end_episode`. Like in the previous menu, any element with a blue border and text-color indicates that episode has been watched before

View File

@ -477,7 +477,8 @@ open_episode() {
# s/^${selection_id}\t[0-9]+/${selection_id}\t$((episode + 1))/ # s/^${selection_id}\t[0-9]+/${selection_id}\t$((episode + 1))/
# " "$logfile" >"${logfile}.new" && mv "${logfile}.new" "$logfile" # " "$logfile" >"${logfile}.new" && mv "${logfile}.new" "$logfile"
setsid -f $player_fn --http-header-fields="Referer: $dpage_url" "$video_url" >/dev/null 2>&1 # setsid -f $player_fn --http-header-fields="Referer: $dpage_url" "$video_url" >/dev/null 2>&1
nohup $player_fn --http-header-fields="Referer: $dpage_url" "$video_url" >/dev/null 2>&1 &
else else
printf "Downloading episode $episode ...\n" printf "Downloading episode $episode ...\n"
printf "%s\n" "$video_url" printf "%s\n" "$video_url"

View File

@ -204,32 +204,32 @@ case "$selection" in
;; ;;
5.) 5.)
log "Sync history database" log "Sync history database"
# username=$(rofi -dmenu -config "$CFG_DIR/$CFG_FILE" \ username=$(rofi -dmenu -config "$CFG_DIR/$CFG_FILE" \
# -l 1 -p "Enter the username of the remote user:") -l 1 -p "Enter the username of the remote user:")
# if [[ -z "$username" ]] || [[ "$username" == "" ]]; then if [[ -z "$username" ]] || [[ "$username" == "" ]]; then
# log "No username provided... exiting" log "No username provided... exiting"
# exit 1 exit 1
# fi fi
# host=$(rofi -dmenu -config "$CFG_DIR/$CFG_FILE" \ host=$(rofi -dmenu -config "$CFG_DIR/$CFG_FILE" \
# -l 1 -p "Enter the host for the remote machine (eg 192.168.1.99):") -l 1 -p "Enter the host for the remote machine (eg 192.168.1.99):")
# if [[ -z "$host" ]] || [[ "$host" == "" ]]; then if [[ -z "$host" ]] || [[ "$host" == "" ]]; then
# log "No host provided... exiting" log "No host provided... exiting"
# exit 1 exit 1
# fi fi
# port=$(rofi -dmenu -config "$CFG_DIR/$CFG_FILE" \ port=$(rofi -dmenu -config "$CFG_DIR/$CFG_FILE" \
# -l 1 -p "Enter in the ssh port for remote machine or leave blank for default [22]:") -l 1 -p "Enter in the ssh port for remote machine or leave blank for default [22]:")
# if [[ -z "$port" ]] || [[ "$port" == "" ]]; then if [[ -z "$port" ]] || [[ "$port" == "" ]]; then
# port=22 port=22
# fi fi
# keypath=$(rofi -dmenu -config "$CFG_DIR/$CFG_FILE" \ keypath=$(rofi -dmenu -config "$CFG_DIR/$CFG_FILE" \
# -l 1 -p "Enter path to private key (leave blank if not needed or if unsure):") -l 1 -p "Enter path to private key (leave blank if not needed or if unsure):")
if [[ -z "$keypath" ]]; then
printf "%s\n%s\n%d\n%s\n" "$username" "$host" "$port" "" | ani-cli -s
else
printf "%s\n%s\n%d\n%s\n" "$username" "$host" "$port" "$keypath" | ani-cli -s
fi
printf "%s\n%s\n%d\n%s\n" "sudacode" "sudacode" 3005 "" | ani-cli -s
# if [[ -z "$keypath" ]]; then
# printf "%s\n%s\n%d\n%s\n" "$username" "$host" "$port" "" | ani-cli -s
# else
# printf "%s\n%s\n%d\n%s\n" "$username" "$host" "$port" "$keypath" | ani-cli -s
# fi
if [[ "$?" -ne 0 ]]; then if [[ "$?" -ne 0 ]]; then
log "Aniwrapper was unable to sync the databases..." log "Aniwrapper was unable to sync the databases..."
exit 1 exit 1