fix(generate-members.py): correct API URL and f-string syntax

- Update default MEMBERS_API_URL to https://privacyguides.org/cache/members.json because the ghost subdomain no longer exists.
- Add timeout and raise_for_status() to improve HTTP request reliability and prevent hanging.
- Correct f-string syntax to safely reference member dictionary keys (even when using Python 3.12)
This commit is contained in:
Mohamed Ait Oubarka 2026-03-10 06:24:12 +00:00
parent d366114f3f
commit b7c9006dd4

View file

@ -1,9 +1,12 @@
import requests
import os
# Fetch members from the API
members_api_url = os.getenv('MEMBERS_API_URL', 'https://ghost.privacyguides.org/cache/members.json')
members_response = requests.get(members_api_url)
members_api_url = os.getenv('MEMBERS_API_URL', 'https://privacyguides.org/cache/members.json')
members_response = requests.get(members_api_url, timeout=10)
members_response.raise_for_status()
members_data = members_response.json()[0]
members = members_data['members']
@ -11,7 +14,7 @@ members = members_data['members']
html_output = ""
for member in members:
username = member['username']
html_output += f'<a href="{member['url']}" target="_blank" title="@{member['username']}" class="mdx-donors__item"><img loading="lazy" src="{member['avatar']}"></a>'
html_output += f'<a href="{member["url"]}" target="_blank" title="@{member["username"]}" class="mdx-donors__item"><img loading="lazy" src="{member["avatar"]}"></a>'
# Append the count of private members
if members_data['unaccounted'] > 0: