From 91af6307d076144855c364168b4756b5129082ec Mon Sep 17 00:00:00 2001
From: Joel Grunbaum <joelgrun@gmail.com>
Date: Mon, 11 Jan 2021 10:48:56 +0000
Subject: [PATCH] only made wallpaper dir not conifg

---
 reddit-wallpaper-fetcher |   56 ++++++++++++++++++++++++++++++++------------------------
 1 files changed, 32 insertions(+), 24 deletions(-)

diff --git a/reddit-wallpaper-fetcher b/reddit-wallpaper-fetcher
index f01551b..9e2bba5 100755
--- a/reddit-wallpaper-fetcher
+++ b/reddit-wallpaper-fetcher
@@ -1,6 +1,6 @@
 #!/bin/bash
 
-TESTING=1
+TESTING=0
 
 #Default variables
 SUBREDDITS=("Wallpapers")
@@ -17,53 +17,61 @@
     CONFDIR="$HOME/.config"
     WALLDIR="$HOME/.wallpaper"
 else
-    CONFDIR="$(dirname $(realpath $0))"
-    WALLDIR="$(dirname $(realpath $0))"
+    CONFDIR="$(dirname $(realpath "$0"))"
+    WALLDIR="$(dirname $(realpath "$0"))"
 fi
 
-source $CONFDIR/reddit-wallpaper-fetcher.conf &>/dev/null
+[ ! -d "$WALLDIR" ] && mkdir "$WALLDIR"
+source "$CONFDIR"/reddit-wallpaper-fetcher.conf &>/dev/null
 
 #Loud output for testing a changed config
 [ -z "$1" ] && LOUD="-s"
 
 #Initialise time from last fetch
 LATEST_TIME=0
-if [ -f $WALLDIR/json ]; then
-    LATEST=$(cat $WALLDIR/json)
-    LATEST_TIME=$(echo $LATEST | jq ".data.children[-1].data.created_utc")
+if [ -f "$WALLDIR"/json ]; then
+    LATEST=$(cat "$WALLDIR"/json)
+    LATEST_TIME=$(echo "$LATEST" | jq ".data.children[-1].data.created_utc")
+fi
+if [ "$LATEST_TIME" == "null" ]; then
+    LATEST_TIME=0
 fi
 
 #Try subreddits for new images
 for i in "${SUBREDDITS[@]}"; do
-    temp=$(curl $LOUD --user-agent $USER "https://www.reddit.com/r/$i.json?sort=$SORT&limit=1")
-    time=$(echo $temp | jq ".data.children[-1].data.created_utc")
+    temp=$(curl "$LOUD" --user-agent "$USER" "https://www.reddit.com/r/$i.json?sort=$SORT&limit=1")
+    time=$(echo "$temp" | jq ".data.children[-1].data.created_utc")
     if [ $(awk -v n1="$time" -v n2="$LATEST_TIME" 'BEGIN {printf (n1>n2?"1":"")}') ]; then
-	LATEST=$temp
-	LATEST_TIME=$time
+	LATEST="$temp"
+	LATEST_TIME="$time"
     fi
 done
 
 #No Update to do
-if [ -f $WALLDIR/json ] && [ "$(cat $WALLDIR/json)" == "$LATEST" ]; then
+if [ -f "$WALLDIR"/json ] && [ "$(cat "$WALLDIR"/json)" == "$LATEST" ]; then
     exit
 fi
 
 #Download image
-url=$(echo $LATEST | jq ".data.children[-1].data.url" | sed 's/"//g')
-ext="$(echo $url | rev | cut -d'.' -f1 | rev)"
-curl $LOUD -o "$WALLDIR/temp.$ext" "$url"
+url=$(echo "$LATEST" | jq ".data.children[-1].data.url" | sed 's/"//g')
+if [ -n "$(echo $url | grep gallery)" ]; then
+	media_id=$(echo "$LATEST" | jq ".data.children[-1].data.gallery_data.items[0].media_id" | sed 's/"//g')
+	url=$(echo "$LATEST" | jq ".data.children[-1].data.media_metadata.$media_id.p[0].u" | sed 's/"//g;s/\?.*//g;s/preview/i/g')
+fi
+ext="$(echo "$url" | rev | cut -d'.' -f1 | rev)"
+curl "$url" "$LOUD" --output "$WALLDIR/temp.$ext"
 
 #Save image information
-echo $LATEST > $WALLDIR/json
-title=$(echo $LATEST | jq ".data.children[-1].data.title")
-echo "$title" > $WALLDIR/data.txt
-echo $url >> $WALLDIR/data.txt
-echo https://reddit.com$(echo $LATEST | jq ".data.children[-1].data.permalink" | sed 's/"//g') >> $WALLDIR/data.txt
+echo "$LATEST" > "$WALLDIR"/json
+title=$(echo "$LATEST" | jq ".data.children[-1].data.title")
+echo "$title" > "$WALLDIR"/data.txt
+echo "$url" >> "$WALLDIR"/data.txt
+echo https://reddit.com$(echo "$LATEST" | jq ".data.children[-1].data.permalink" | sed 's/"//g') >> "$WALLDIR"/data.txt
 
 #Add image title
+convert "$WALLDIR/temp.$ext" -resize "$SIZE^" -gravity center -crop "$SIZE+0+0" -resize "$SIZE!" "$WALLDIR/wallpaper.jpg"
+rm "$WALLDIR/temp.$ext"
+
 if [ $WRITE_TITLE == 1 ]; then
-    convert "$WALLDIR/temp.$ext" -fill "$TITLE_COLOR" -gravity "$TITLE_POSITION" -pointsize "$TITLE_SIZE" -annotate 0 "$title" "$WALLDIR/wallpaper.jpg"
-else
-    convert "$WALLDIR/temp.$ext" "$WALLDIR/wallpaper.jpg"
+    convert "$WALLDIR/wallpaper.jpg" -fill "$TITLE_COLOR" -gravity "$TITLE_POSITION" -pointsize "$TITLE_SIZE" -annotate 0 "$title" "$WALLDIR/wallpaper.jpg"
 fi
-rm $WALLDIR/temp.$ext

--
Gitblit v1.10.0