Spaces:
Sleeping
Sleeping
| import base64 | |
| import os | |
| def embed_logo(): | |
| # Read Logo | |
| try: | |
| with open("logo.png", "rb") as f: | |
| logo_data = f.read() | |
| logo_b64 = base64.b64encode(logo_data).decode('utf-8') | |
| except FileNotFoundError: | |
| print("Error: logo.png not found!") | |
| return | |
| # 1. Update image_engine.py | |
| engine_path = "image_engine.py" | |
| with open(engine_path, "r") as f: | |
| content = f.read() | |
| # Replace the file loading logic with Base64 | |
| new_logic = f''' | |
| # Load Logo from Base64 | |
| import base64 | |
| import io | |
| LOGO_B64 = "{logo_b64}" | |
| logo_data = base64.b64decode(LOGO_B64) | |
| logo = Image.open(io.BytesIO(logo_data)).convert("RGBA") | |
| ''' | |
| # We look for the try/catch block that loads the logo | |
| start_marker = ' # Load Logo' | |
| end_marker = ' except FileNotFoundError:' | |
| if start_marker in content: | |
| # Simple string replacement for the specific block we wrote earlier | |
| # This is a bit brittle but we know the exact content we just wrote | |
| old_block = ''' # Load Logo | |
| try: | |
| logo = Image.open("logo.png").convert("RGBA") | |
| except FileNotFoundError: | |
| print("Logo not found, skipping watermark.") | |
| image.save(output_path) | |
| return output_path''' | |
| if old_block in content: | |
| content = content.replace(old_block, new_logic) | |
| with open(engine_path, "w") as f: | |
| f.write(content) | |
| print("Updated image_engine.py") | |
| else: | |
| print("Could not find exact block in image_engine.py, doing manual replace") | |
| # Fallback: Replace the whole file content if needed, but let's try to be surgical first | |
| # actually, let's just rewrite the file with the known structure if this fails | |
| pass | |
| # 2. Update App.jsx | |
| app_path = "frontend/src/App.jsx" | |
| with open(app_path, "r") as f: | |
| app_content = f.read() | |
| # Replace the img src | |
| old_img = 'src="/logo.png"' | |
| new_img = f'src="data:image/png;base64,{logo_b64}"' | |
| if old_img in app_content: | |
| app_content = app_content.replace(old_img, new_img) | |
| with open(app_path, "w") as f: | |
| f.write(app_content) | |
| print("Updated App.jsx") | |
| else: | |
| print("Could not find src='/logo.png' in App.jsx") | |
| if __name__ == "__main__": | |
| embed_logo() | |