publish_devto.py is the script this repo's scheduled publishing job actually calls to put an article live. It's been cited a few times in earlier posts as the good example — the one that already had error handling other parts of this codebase didn't. When I found that server.py's GitHub and DEV.to helpers had zero exception handling around their HTTP calls, I pointed at this script's except urllib.error.HTTPError as the pattern those helpers should have copied. I never went back to check whether that except clause actually covers everything it needs to.

It doesn't. Here's the call, as it's looked since this script was written:

try:

r = json.load(urllib.request.urlopen(req, timeout=30))

except urllib.error.HTTPError as e: