diff --git a/bin/.bin/changepaper.sh b/bin/.bin/changepaper.sh index f156ece..7c2c4d7 100755 --- a/bin/.bin/changepaper.sh +++ b/bin/.bin/changepaper.sh @@ -9,9 +9,11 @@ export DISPLAY=:0.0 export XAUTHORITY=/home/powellc/.Xauthority +# Choices: astrobin,natgeo,nasa +BASEDIR="$HOME/var/backgrounds/natgeo/" -# Get daily Astrobin PotD -BASEDIR="$HOME/var/inbox/astrobin/" +# Get daily NatGeo POTD +python3 ~/.bin/get_natgeo_potd.py python3 ~/.bin/get_astrobin_potd.py date=$(date '+%Y-%m-%d') @@ -24,35 +26,6 @@ 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" diff --git a/bin/.bin/get_astrobin_potd.py b/bin/.bin/get_astrobin_potd.py index 4b108ad..f4576c8 100755 --- a/bin/.bin/get_astrobin_potd.py +++ b/bin/.bin/get_astrobin_potd.py @@ -1,11 +1,13 @@ #!/usr/bin/env python3 import os -from datetime import datetime -import requests import subprocess +from datetime import datetime + +import requests today = datetime.today().strftime("%Y-%m-%d") -target_path = f"/home/powellc/var/inbox/astrobin/{today}.jpg" +home = os.path.expanduser("~") +target_path = f"{home}/var/backgrounds/astrobin/{today}.jpg" # If the file for today already exists, just exit if os.path.isfile(target_path): diff --git a/bin/.bin/get_natgeo_potd.py b/bin/.bin/get_natgeo_potd.py new file mode 100755 index 0000000..6f29168 --- /dev/null +++ b/bin/.bin/get_natgeo_potd.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python3 +import os +from datetime import datetime + +import requests +from bs4 import BeautifulSoup + +today = datetime.today().strftime("%Y-%m-%d") +home = os.path.expanduser("~") +target_path = f"{home}/var/backgrounds/natgeo/{today}.jpg" + +# If the file for today already exists, just exit +if os.path.isfile(target_path): + print(f"NatGeo image for {today} already exists, skipping download") + exit() + +try: + # We've got to go rummaging for: + # + potd_uri = "https://www.nationalgeographic.com/photography/photo-of-the-day/" + html_doc = requests.get(potd_uri).content + soup = BeautifulSoup(html_doc, "html.parser") + + twitter_image_tag = soup.select('meta[name="twitter:image:src"]')[0] + + image_tag = twitter_image_tag + img = requests.get(image_tag.attrs["content"], stream=True) + + handle = open(target_path, "wb") + for chunk in img.iter_content(chunk_size=512): + if chunk: # filter out keep-alive new chunks + handle.write(chunk) +except: # noqa + print("No new NatGeo image for today, sorry.")