about summary refs log tree commit diff stats
path: root/home-manager/packages/scripts/apps/deprecated/walldl
diff options
context:
space:
mode:
Diffstat (limited to 'home-manager/packages/scripts/apps/deprecated/walldl')
-rwxr-xr-xhome-manager/packages/scripts/apps/deprecated/walldl174
1 files changed, 174 insertions, 0 deletions
diff --git a/home-manager/packages/scripts/apps/deprecated/walldl b/home-manager/packages/scripts/apps/deprecated/walldl
new file mode 100755
index 00000000..3b6752db
--- /dev/null
+++ b/home-manager/packages/scripts/apps/deprecated/walldl
@@ -0,0 +1,174 @@
+#!/bin/bash
+############################################################
+# Help                                                     #
+############################################################
+Help()
+{
+    # Display Help
+    echo "Fetch all images accociated with a given URL."
+    echo
+    echo "options:"
+    echo "-h     Print this Help."
+    echo "-H     For Sites with hrefs"
+    echo "-L     For Sites without hrefs"
+    echo "-C     For generated Code"
+    echo
+}
+
+############################################################
+############################################################
+# Main program                                             #
+############################################################
+############################################################
+############################################################
+#  Create all needed tmp files and variables.              #
+############################################################
+Tav() {
+    pstr="[=======================================================================]"
+    out="$(mktemp)"
+    html="$(mktemp)"
+    NR="$(mktemp)"
+    printf "URL for Website: "
+    read url
+    dir=$(echo "$url" | awk '{ gsub(":|https",""); print $0 }')
+    try=HighRes
+}
+############################################################
+# Define downloader engines                                #
+############################################################
+HighRes() {
+    # For Websites that have hrefs for bigger images
+    curl -sS  $url |  awk 'BEGIN { FS="\"";} /href=/ && /img src/ && !/index.html/ { print $2 } ' | awk '!a[$0]++' | sort > $out
+}
+LowRes() {
+    # For Websites that don't have hrefs
+    wget --quiet --output-document=${html} $url
+    cat $html | tidy --custom-tags pre --show-warnings no -q -output $html
+    cat $html | awk 'BEGIN { FS="\"";} /src=/ {print $2}' > $out
+}
+GenCode() {
+    # For Generated Code blocks
+    wget --quiet --output-document=${html} $url
+    cat $html | tidy --custom-tags pre --show-warnings no -q -output $html
+
+    cat $html | awk ' /<img/ {print NR}' > $NR
+    for ((i = 1; i <= $(cat $NR | wc -l); i++))
+    do
+        lnNums=$(cat $NR | awk -v n=$i ' NR == n {print $0} ')
+        let "lnNums++"
+        cat $html | awk -v n=$lnNums 'BEGIN { FS="\"";} NR == n { print $2 } ' >> $out
+    done
+}
+############################################################
+# Process the input options. Add options as needed.        #
+############################################################
+# Get the options
+while getopts ":hHLGV" option; do
+    case $option in
+        H)
+            proc=HighRes
+            ;;
+        L)
+            proc=LowRes
+            ;;
+        G)
+            proc=GenCode
+            ;;
+        V)
+            ver=true
+            ;;
+        \?) # Invalid option
+            echo "Error: Invalid option"
+            ;;
+        * | h)
+            Help
+            exit;;
+    esac
+done
+############################################################
+# Download it                                              #
+############################################################
+Down() {
+    total=$(cat $out | wc -l)
+    if [ $total -eq 0 ];
+    then
+        case $try in
+            HighRes)
+                if [ ver ];
+                then
+                    echo "trying HighRes engine"
+                fi
+                HighRes
+                try="GenCode"
+                Down
+                ;;
+            LowRes)
+                if [ ver ];
+                then
+                    echo "trying LowRes engine"
+                fi
+                LowRes
+                try=":("
+                Down
+                ;;
+            GenCode)
+                if [ ver ];
+                then
+                    echo "trying GenCode engine"
+                fi
+                GenCode
+                try="LowRes"
+                Down
+                ;;
+            *)
+                echo "Nothing found"
+                exit
+                ;;
+        esac
+
+    else
+        cat $out
+        read -p "Do you want to download this to ${WALLPAPERDIR}/${dir}?(y/n) " -n 1 -r
+        echo
+
+        if [[ $REPLY =~ ^[Yy]$ ]];
+        then
+            mkdir -p ${WALLPAPERDIR}/${dir}
+            cd ${WALLPAPERDIR}/${dir}
+            url=$(echo $url | awk ' BEGIN {FS="/";} {printf "%s//%s/", $1, $3 } ' )
+            # cycle throught all pictures and download them
+            for ((i = 0; i <= $total; i++ ))
+            do
+                awk -v n=$i 'FNR == n ' ${out} | xargs printf "$url%s\n" | xargs curl -OsS
+                pd=$(( $i * 73 / $total ))
+                printf "\r%3d.%1d%% %.${pd}s" $(( $i * 100 / $total )) $(( ($i * 1000 / $total) % 10 )) $pstr
+            done
+            printf "\n"
+            echo "downloaded to ${WALLPAPERDIR}${dir}"
+            rm -f "$out"
+            rm -f "$html"
+            rm -f "$NR"
+        fi
+    fi
+}
+############################################################
+# Call the functions                                       #
+############################################################
+
+Tav
+# case $proc in
+#     HighRes)
+#         HighRes
+#         ;;
+#     LowRes)
+#         LowRes
+#         ;;
+#     GenCode)
+#         GenCode
+#         ;;
+#     *)
+#         echo "No engine specified"
+#         exit
+#         ;;
+# esac
+Down