Updated reddit func

Added search
This commit is contained in:
Benjamyn Love 2021-06-05 15:02:06 +10:00
parent 8721513686
commit 897ec934c4

View File

@ -1,37 +1,56 @@
#!/usr/bin/env bash
link="https://source.unsplash.com/random/"
dir="$HOME/.local/wallpaper"
dir="$HOME/.config/styli.sh"
# https://www.reddit.com/r/Animewallpaper/search/.json?q=flair_name%3ADesktop&restrict_sr=1
reddit(){
useragent="thevinter"
timeout=60
# TODO: Implement sort and top
sort="hot"
top_time=""
while :
do
case "${1}" in
-s | --search) search=${2} ; shift 2 ;;
-f | --flair) flair=${2} ; shift 2 ;;
-r | --sub) sub=${2} ; shift 2;;
-- | '') shift; break ;;
*) echo "Unexpected option: $1 - this should not happen." ; usage ;;
esac
done
RED_PARSED_ARGUMENTS=$(getopt -a -n $0 -o f:s:r: --long flair:,search:,sub: -- "$@")
RED_VALID_ARGUMENTS=$?
if [ "$RED_VALID_ARGUMENTS" != "0" ]; then
usage
fi
readarray subreddits < /home/ben/.git/styli.sh/subreddits
if [ -z $sub ]
then
readarray subreddits < "$dir/subreddits"
a=${#subreddits[@]}
b=$(($RANDOM % $a))
sub=${subreddits[$b]}
sort=$2
top_time=$3
if [ -z $sort ]; then
sort="hot"
sub="$(echo -e "${sub}" | tr -d '[:space:]')"
fi
if [ -z $top_time ]; then
top_time=""
fi
sub="$(echo -e "${sub}" | tr -d '[:space:]')"
if [ ! -z "$1" ] && [ -z "$2" ]; then
sub=$1
fi
if [[ $2 -eq "flair" ]]
if [ -z "$search" ] && [ -z "$flair" ]
then
url="https://www.reddit.com/r/$sub/search/.json?q=flair_name%3A$1&restrict_sr=1"
else
url="https://www.reddit.com/r/$sub/$sort/.json?raw_json=1&t=$top_time"
else
if [ -z "$flair" ]
then
url="https://www.reddit.com/r/$sub/search/.json?q=$search&restrict_sr=1"
elif [ -z "$search" ]
then
url="https://www.reddit.com/r/$sub/search/.json?q=flair_name%3A$flair&restrict_sr=1"
else
url="https://www.reddit.com/r/$sub/search/.json?q=$search+flair_name%3A$flair&restrict_sr=1"
fi
fi
# url="https://www.reddit.com/r/$sub/search/.json?q=flair_name%3ADesktop&restrict_sr=1"
content=`wget -T $timeout -U "$useragent" -q -O - $url`
# urls=$(echo -n "$content"| jq -r '.data.children[]|select(.data.post_hint|test("image")?) | .data.preview.images[0].source.url')
urls=$(echo -n "$content"| jq -r '.data.children[]|select(.data.post_hint|test("image")?) | .data.url')
@ -49,8 +68,8 @@ reddit(){
ext=`echo -n "${target_url##*.}"|cut -d '?' -f 1`
newname=`echo $target_name | sed "s/^\///;s/\// /g"`_"$subreddit"_$target_id.$ext
wget -T $timeout -U "$useragent" --no-check-certificate -q -P down -O "$dir/wallpaper.jpg" $target_url &>/dev/null
}
usage(){
echo "Usage: styli.sh [-s | --search <string>]
[-f | --flair <flair>]
@ -70,7 +89,7 @@ then
fi
pywal=0
PARSED_ARGUMENTS=$(getopt -a -n $0 -o h:w:s:l:b:r:c:p:f --long flair:,search:,hight:,width:,fehbg:,fehopt:,subreddit:,termcolor -- "$@")
PARSED_ARGUMENTS=$(getopt -a -n $0 -o f:h:w:s:l:b:r:c:p --long flair:,search:,hight:,width:,fehbg:,fehopt:,subreddit:,termcolor -- "$@")
VALID_ARGUMENTS=$?
if [ "$VALID_ARGUMENTS" != "0" ]; then
usage
@ -118,9 +137,9 @@ if [ $link = "reddit" ] || [ ! -z $sub ]
then
if [ ! -z $flair ]
then
reddit "$flair" "flair"
reddit -f "$flair"
else
reddit "$sub"
reddit -r "$sub"
fi
feh+=("$dir/wallpaper.jpg")
"${feh[@]}"