1234567891011121314151617181920212223242526272829303132333435 |
- #!/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 = (
- subprocess.check_output("pass personal/apikey/astrobin", shell=True)
- .decode("utf-8")
- .strip()
- )
- fmt = "json"
- iotd_uri = f"{root}/api/v1/imageoftheday/?limit=1&api_key={api_key}&api_secret={api_secret}&format={fmt}"
- r = requests.get(iotd_uri)
- image_info_uri = r.json()["objects"][0]["image"]
- r = requests.get(
- f"{root}{image_info_uri}?api_key={api_key}&api_secret={api_secret}&format={fmt}"
- )
- image_uri = r.json()["url_real"]
- img = requests.get(image_uri, 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)
|