Updated reddit func
Added search
This commit is contained in:
parent
8721513686
commit
897ec934c4
71
styli.sh
71
styli.sh
@ -1,37 +1,56 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
link="https://source.unsplash.com/random/"
|
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
|
# https://www.reddit.com/r/Animewallpaper/search/.json?q=flair_name%3ADesktop&restrict_sr=1
|
||||||
|
|
||||||
reddit(){
|
reddit(){
|
||||||
useragent="thevinter"
|
useragent="thevinter"
|
||||||
timeout=60
|
timeout=60
|
||||||
|
# TODO: Implement sort and top
|
||||||
readarray subreddits < /home/ben/.git/styli.sh/subreddits
|
sort="hot"
|
||||||
a=${#subreddits[@]}
|
top_time=""
|
||||||
b=$(($RANDOM % $a))
|
while :
|
||||||
sub=${subreddits[$b]}
|
do
|
||||||
sort=$2
|
case "${1}" in
|
||||||
top_time=$3
|
-s | --search) search=${2} ; shift 2 ;;
|
||||||
if [ -z $sort ]; then
|
-f | --flair) flair=${2} ; shift 2 ;;
|
||||||
sort="hot"
|
-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
|
fi
|
||||||
|
|
||||||
if [ -z $top_time ]; then
|
|
||||||
top_time=""
|
if [ -z $sub ]
|
||||||
fi
|
|
||||||
sub="$(echo -e "${sub}" | tr -d '[:space:]')"
|
|
||||||
if [ ! -z "$1" ] && [ -z "$2" ]; then
|
|
||||||
sub=$1
|
|
||||||
fi
|
|
||||||
if [[ $2 -eq "flair" ]]
|
|
||||||
then
|
then
|
||||||
url="https://www.reddit.com/r/$sub/search/.json?q=flair_name%3A$1&restrict_sr=1"
|
readarray subreddits < "$dir/subreddits"
|
||||||
else
|
a=${#subreddits[@]}
|
||||||
url="https://www.reddit.com/r/$sub/$sort/.json?raw_json=1&t=$top_time"
|
b=$(($RANDOM % $a))
|
||||||
|
sub=${subreddits[$b]}
|
||||||
|
sub="$(echo -e "${sub}" | tr -d '[:space:]')"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
if [ -z "$search" ] && [ -z "$flair" ]
|
||||||
|
then
|
||||||
|
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
|
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`
|
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.preview.images[0].source.url')
|
||||||
urls=$(echo -n "$content"| jq -r '.data.children[]|select(.data.post_hint|test("image")?) | .data.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`
|
ext=`echo -n "${target_url##*.}"|cut -d '?' -f 1`
|
||||||
newname=`echo $target_name | sed "s/^\///;s/\// /g"`_"$subreddit"_$target_id.$ext
|
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
|
wget -T $timeout -U "$useragent" --no-check-certificate -q -P down -O "$dir/wallpaper.jpg" $target_url &>/dev/null
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
usage(){
|
usage(){
|
||||||
echo "Usage: styli.sh [-s | --search <string>]
|
echo "Usage: styli.sh [-s | --search <string>]
|
||||||
[-f | --flair <flair>]
|
[-f | --flair <flair>]
|
||||||
@ -70,7 +89,7 @@ then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
pywal=0
|
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=$?
|
VALID_ARGUMENTS=$?
|
||||||
if [ "$VALID_ARGUMENTS" != "0" ]; then
|
if [ "$VALID_ARGUMENTS" != "0" ]; then
|
||||||
usage
|
usage
|
||||||
@ -118,9 +137,9 @@ if [ $link = "reddit" ] || [ ! -z $sub ]
|
|||||||
then
|
then
|
||||||
if [ ! -z $flair ]
|
if [ ! -z $flair ]
|
||||||
then
|
then
|
||||||
reddit "$flair" "flair"
|
reddit -f "$flair"
|
||||||
else
|
else
|
||||||
reddit "$sub"
|
reddit -r "$sub"
|
||||||
fi
|
fi
|
||||||
feh+=("$dir/wallpaper.jpg")
|
feh+=("$dir/wallpaper.jpg")
|
||||||
"${feh[@]}"
|
"${feh[@]}"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user