Update wallpaper download jobs to be idempotent

This commit is contained in:
Colin Powell
2020-01-21 08:31:59 -05:00
parent 164bfebb83
commit 59f843b8bd
3 changed files with 68 additions and 53 deletions

View File

@ -5,63 +5,72 @@
# Last Revised 22 May 2019
#######################
#Change directory to where the script resides.
# For feh, we need display set properly
export DISPLAY=:0.0
BASEDIR="$HOME/var/inbox/ng_photos"
cd $BASEDIR
#######################
#getting the image URL
img="$(curl https://www.nationalgeographic.com/photography/photo-of-the-day/ -s | grep -oP '(?<="twitter:image:src" content=")\K[^"]*')"
#check to see if there is any wallpaper to download
if [ -n "$img" ]
then
img_base=`echo $img | cut -d/ -f 5`
img_md5=`echo -n $img_base | md5sum | cut -f1 -d" "`
img_file="$img_md5.jpg"
curl "$img" > $img_file
#set the current image as wallpaper
# feh --bg-scale $BASEDIR/$img_md5.jpg
# #link slim background to new image
# rm /usr/share/slim/themes/default/background.jpg
# ln -s $BASEDIR/$img_md5.jpg /usr/share/slim/themes/default/background.jpg
else
echo "No Wallpaper today"
fi
# Then grab our APOD image and store it for now
#Change directory to where the script resides.
BASEDIR="$HOME/var/inbox/apod_photos"
cd $BASEDIR
#######################
#getting the image URL
img="$(curl https://api.nasa.gov/planetary/apod\?api_key=AdfgdnmmInYgpDMEq3ShMLKjJ7DZ7jyUcgLHWdgw | jq .hdurl | tr -d \")"
#check to see if there is any wallpaper to download
if [ -n "$img" ]
then
img_file=`echo $img | cut -d/ -f 7 | tr -d \"`
curl $img > $img_file
#set the current image as wallpaper
#feh --bg-scale $BASEDIR/$img_file
##link slim background to new image
#rm /usr/share/slim/themes/default/background.jpg
#ln -s $BASEDIR/$img_file /usr/share/slim/themes/default/background.jpg
else
echo "No Wallpaper today"
fi
# Get daily Astrobin PotD
BASEDIR="$HOME/var/inbox/astrobin/"
# use python script to get astrobin iotd
python3 ~/.bin/get_astrobin_potd.py
date=$(date '+%Y-%m-%d')
#set the current image as wallpaper
#set the current image as wallpaper
feh --bg-scale $BASEDIR/$date.jpg
#link slim background to new image
rm /usr/share/slim/themes/default/background.jpg
ln -s $BASEDIR/$date.jpg /usr/share/slim/themes/default/background.jpg
echo "Background and slim wallpaper set using Astrobin PotD"
####### OLD Picture fetching for NatGeo and NASA APoD
#######
#Change directory to where the script resides.
#BASEDIR="$HOME/var/inbox/ng_photos"
#cd $BASEDIR
#######################
#getting the image URL
#img="$(curl https://www.nationalgeographic.com/photography/photo-of-the-day/ -s | grep -oP '(?<="twitter:image:src" content=")\K[^"]*')"
#
## Check to see if there is any wallpaper to download
#if [ -n "$img" ]
#then
# img_base=`echo $img | cut -d/ -f 5`
# img_md5=`echo -n $img_base | md5sum | cut -f1 -d" "`
# img_file="$img_md5.jpg"
#
# curl "$img" > $img_file
# #set the current image as wallpaper
# #feh --bg-scale $BASEDIR/$img_md5.jpg
# ##link slim background to new image
# #rm /usr/share/slim/themes/default/background.jpg
# #ln -s $BASEDIR/$img_md5.jpg /usr/share/slim/themes/default/background.jpg
#else
# echo "No Wallpaper today"
#fi
# Then grab our APOD image and store it for now
#Change directory to where the script resides.
#BASEDIR="$HOME/var/inbox/apod_photos"
#cd $BASEDIR
########################
#
## Get the APoD image from NASA
#img="$(curl https://api.nasa.gov/planetary/apod\?api_key=AdfgdnmmInYgpDMEq3ShMLKjJ7DZ7jyUcgLHWdgw | jq .hdurl | tr -d \")"
#
##check to see if there is any wallpaper to download
#if [ -n "$img" ]
#then
# img_file=`echo $img | cut -d/ -f 7 | tr -d \"`
# curl $img > $img_file
# #set the current image as wallpaper
# #feh --bg-scale $BASEDIR/$img_file
# ##link slim background to new image
# #rm /usr/share/slim/themes/default/background.jpg
# #ln -s $BASEDIR/$img_file /usr/share/slim/themes/default/background.jpg
#else
# echo "No Wallpaper today"
#fi

View File

@ -1,8 +1,17 @@
#!/usr/bin/env python3
import os
from datetime import datetime
import requests
import subprocess
today = datetime.today().strftime("%Y-%m-%d")
target_path = f"/home/powellc/var/inbox/astrobin/{today}.jpg"
# If the file for today already exists, just exit
if os.path.isfile(target_path):
print(f"Astrobin image for {today} already exists, skipping download")
exit()
root = "https://www.astrobin.com"
api_key = "3f542cbb23407bde6f20490f377366582dd1a54c"
api_secret = (
@ -20,9 +29,6 @@ r = requests.get(
image_uri = r.json()["url_real"]
img = requests.get(image_uri, stream=True)
today = datetime.today().strftime("%Y-%m-%d")
target_path = f"/home/powellc/var/inbox/astrobin/{today}.jpg"
handle = open(target_path, "wb")
for chunk in img.iter_content(chunk_size=512):
if chunk: # filter out keep-alive new chunks

View File

@ -9,9 +9,9 @@ prefs:
maxHistories: 2
jobs:
WallpaperUpdate:
CheckForNewWallpaper:
cmd: /home/powellc/.bin/changepaper.sh
time: 0 0 10
time: 0 */30
onError: Stop
notifyOnFailure:
- *filesystemSink