Update proxycache.py

This commit is contained in:
Roy 2024-12-10 04:20:52 -08:00 committed by GitHub
parent ad248dd3be
commit 8ba5bb7f94
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -177,7 +177,22 @@ class ProxyCacheHandler(BaseHTTPRequestHandler):
logger.info(f"Sending request to: {url}") logger.info(f"Sending request to: {url}")
response = limited_request(url, headers) response = limited_request(url, headers)
data = response.json() data = response.json()
api_cache[cache_key] = {'data': data, 'timestamp': datetime.now()}
# Check for image quality, dimension, or alternate style information and store all metadata
artwork_data = {
'images': [{
'url': image['url'],
'width': image.get('width'),
'height': image.get('height'),
'style': image.get('style', 'default'),
} for image in data.get('data', [])],
'other_metadata': {
'image_quality': data.get('quality', 'high'),
'last_updated': data.get('last_updated', str(datetime.now())),
}
}
api_cache[cache_key] = {'data': artwork_data, 'timestamp': datetime.now()}
logger.info(f"Storing in cache: {cache_key}") logger.info(f"Storing in cache: {cache_key}")
except Exception as e: except Exception as e:
logger.error(f"Error making API call: {e}") logger.error(f"Error making API call: {e}")
@ -190,8 +205,16 @@ class ProxyCacheHandler(BaseHTTPRequestHandler):
self.send_response(500) self.send_response(500)
self.end_headers() self.end_headers()
self.wfile.write(b'Invalid response from API') self.wfile.write(b'Invalid response from API')
logger.error(f"Artwork for Game ID {game_id} ({art_type}) with dimensions {dimensions} not found. Error: No 'data' in response.")
return return
# Log why artwork wasn't found (if any)
if not data.get('data', []):
logger.error(f"Artwork for Game ID {game_id} ({art_type}) with dimensions {dimensions} not found. Error: No artwork data.")
self.send_response(404)
self.end_headers()
self.wfile.write(b'Artwork not found')
self.send_response(200) self.send_response(200)
self.end_headers() self.end_headers()
self.wfile.write(json.dumps(data).encode()) self.wfile.write(json.dumps(data).encode())