download: Log Github rate-limit status

This commit is contained in:
Max Gautier 2025-01-10 10:41:27 +01:00
parent 81790cab91
commit b08c5e8b14
No known key found for this signature in database

View File

@ -6,6 +6,7 @@
import sys
import os
import logging
from itertools import groupby, chain
from more_itertools import partition
@ -13,6 +14,7 @@ from functools import cache
import argparse
import requests
import hashlib
from datetime import datetime
from ruamel.yaml import YAML
from packaging.version import Version, InvalidVersion
@ -20,6 +22,8 @@ from typing import Optional
CHECKSUMS_YML = "../roles/kubespray-defaults/defaults/main/checksums.yml"
logger = logging.getLogger(__name__)
def open_checksums_yaml():
yaml = YAML()
yaml.explicit_start = True
@ -207,7 +211,14 @@ def download_hash(only_downloads: [str]) -> None:
"Authorization": f"Bearer {os.environ['API_KEY']}",
}
)
if 'x-ratelimit-used' in response.headers._store:
logger.info("Github graphQL API ratelimit status: used %s of %s. Next reset at %s",
response.headers['X-RateLimit-Used'],
response.headers['X-RateLimit-Limit'],
datetime.fromtimestamp(int(response.headers["X-RateLimit-Reset"]))
)
response.raise_for_status()
def valid_version(possible_version: str) -> Optional[Version]:
try:
return Version(possible_version)