mirror of
https://github.com/github/awesome-copilot.git
synced 2026-02-24 12:25:11 +00:00
fix(generate_image): improve input image handling and validate output filename extensions
This commit is contained in:
@@ -71,7 +71,7 @@ def build_message_content(prompt: str, input_images):
|
||||
content.append({"type": "image_url", "image_url": {"url": data_url}})
|
||||
return content
|
||||
|
||||
def parse_data_url(data_url: str):
|
||||
def parse_data_url(data_url: str):
|
||||
if not data_url.startswith("data:") or ";base64," not in data_url:
|
||||
raise ValueError("Image URL is not a base64 data URL.")
|
||||
header, encoded = data_url.split(",", 1)
|
||||
@@ -86,11 +86,18 @@ def build_message_content(prompt: str, input_images):
|
||||
def resolve_output_paths(filename: str, image_count: int, mime: str):
|
||||
output_path = Path(filename)
|
||||
suffix = output_path.suffix
|
||||
if not suffix:
|
||||
suffix = MIME_TO_EXT.get(mime, ".png")
|
||||
|
||||
# Validate/correct suffix matches MIME type
|
||||
expected_suffix = MIME_TO_EXT.get(mime, ".png")
|
||||
if suffix and suffix.lower() != expected_suffix.lower():
|
||||
print(f"Warning: filename extension '{suffix}' doesn't match returned MIME type '{mime}'. Using '{expected_suffix}' instead.")
|
||||
suffix = expected_suffix
|
||||
elif not suffix:
|
||||
suffix = expected_suffix
|
||||
|
||||
output_path = output_path.with_suffix(suffix)
|
||||
|
||||
# Create parent directory if it doesn't exist (for absolute paths)
|
||||
# Create parent directory if it doesn't exist (for paths with parent directories, absolute or relative)
|
||||
if output_path.parent and str(output_path.parent) != '.':
|
||||
output_path.parent.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user