Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- cookies_file=/dev/null
- db_file=$HOME/.mangadb
- notification_file=$HOME/update
- print_usage() {
- echo "Usage: $(basename $0) [OPTION] [URL]"
- echo "-o <directory> Directory to download to"
- echo "-r Download chapters first to last"
- echo "-u Update all manga"
- exit
- }
- while getopts "o:ru" switch ; do
- case $switch in
- o)
- dl_directory=$OPTARG
- ;;
- r)
- reverse=1
- ;;
- u)
- update_db=1
- ;;
- \?)
- print_usage
- ;;
- esac
- done
- shift $(($OPTIND - 1))
- [[ -z $1 ]] && [[ -z $update_db ]] && print_usage
- [[ $dl_directory ]] && mkdir -p "$dl_directory" && cd "$dl_directory"
- mget() {
- wget --load-cookies=$cookies_file --header="accept-encoding: gzip" -q -O - $1 | gunzip
- }
- if [[ $reverse == 1 ]] ; then
- load_chapters() {
- mget $1 | grep -o 'href="http://bato.to/read[^"]*' | sed s/href=\"// | tac
- }
- else
- load_chapters() {
- mget $1 | grep -o 'href="http://bato.to/read[^"]*' | sed s/href=\"//
- }
- fi
- batoto_get() {
- for chapter in $(load_chapters $1) ; do
- chapter_name=$(echo $chapter | grep -o '[^/]*$')
- [[ $update_db ]] && [[ -d "$chapter_name" ]] && break
- mkdir -p "$chapter_name"
- pushd "$chapter_name"
- max_page=$(mget $chapter | grep -o 'page [^</option>]*' | tail -n1 | sed s/page\ //)
- for ((i=1; i<=$max_page; i++)) ; do
- for image in $(mget $chapter/$i | egrep -o 'img.bato.to.*(jpg|jpeg|png|gif)' | sort -u | head -n 1) ; do
- wget -q -nc $image
- done
- done
- popd
- update_status=0
- done
- }
- manga_db_update() {
- while read manga ; do
- update_status=1
- manga_link=$(echo $manga | awk '{print $1}')
- manga_dir=$(echo $manga | awk '{$1=""; print}' | sed 's/^ //')
- pushd "$manga_dir"
- batoto_get $manga_link
- if [[ $update_status == 0 ]] ; then
- echo firefox \"$manga_link\" >> "$notification_file"
- chmod +x "$notification_file"
- fi
- popd
- done < "$db_file"
- }
- if [[ $update_db ]] ; then
- manga_db_update
- else
- batoto_get $1
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement