# Script to grab the current Gravatar image for a given email address import hashlib import requests def hash_email(email): return hashlib.sha256(email.encode('utf-8')).hexdigest() def fetch_gravatar(email="matt@trtmn.com", size=1000, rating="g"): url = f"https://www.gravatar.com/avatar/{hash_email(email)}?s={size}&r={rating}" print(url) response = requests.get(url) return response.content def save_gravatar(email, size=1000, rating="g"): with open(f"gravatar-{size}.png", "wb") as f: # Use "wb" mode for binary write f.write(fetch_gravatar(email, size)) # Convert to webp format import PIL from PIL import Image def convert_to_webp(size=1000): im = Image.open(f"gravatar-{size}.png") im.save(f"gravatar-{size}.webp") def variety_of_sizes(email,sizes=[1000,1500,800,300,200,150,100]): for x in sizes: save_gravatar(email, size=x) convert_to_webp(size=x) if __name__ == '__main__': # print( hash_email(email)) variety_of_sizes("matt@trtmn.com")