From ed3a861214309803f0ff0ff5bc4532926152a3f3 Mon Sep 17 00:00:00 2001 From: Abijah Date: Fri, 5 Jun 2026 08:18:41 -0700 Subject: [PATCH] Trying to sanitize the file names --- gemini/gemini.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/gemini/gemini.py b/gemini/gemini.py index 5a74d21..43496fa 100644 --- a/gemini/gemini.py +++ b/gemini/gemini.py @@ -193,9 +193,18 @@ def main(): print(f"Warning: File '{file_path}' not found. Skipping.", file=sys.stderr) continue - print(f"Uploading '{file_path}'...") - uploaded_file = client.files.upload(file=file_path) - print(f"Success: '{file_path}' uploaded as '{uploaded_file.name}'") + # Sanitize the filename for HTTP headers (replace non-ASCII with underscores) + base_name = os.path.basename(file_path) + safe_name = "".join([c if ord(c) < 128 else "_" for c in base_name]) + + print(f"Uploading '{file_path}'...", file=sys.stderr) + + # Force the SDK to use our sanitized name for the upload display name + uploaded_file = client.files.upload( + file=file_path, + config={'display_name': safe_name} + ) + print(f"Success: '{file_path}' uploaded as '{uploaded_file.name}'", file=sys.stderr) if uploaded_file.name not in context_data["file_ids"]: context_data["file_ids"].append(uploaded_file.name)