mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-31 15:12:06 +00:00 
			
		
		
		
	[image] Use "puremagic" instead of "magic" python module (#7536)
This commit is contained in:
		| @@ -6,7 +6,7 @@ import logging | ||||
| from pathlib import Path | ||||
| import re | ||||
|  | ||||
| from magic import Magic | ||||
| import puremagic | ||||
|  | ||||
| from esphome import core, external_files | ||||
| import esphome.codegen as cg | ||||
| @@ -237,8 +237,8 @@ CONFIG_SCHEMA = cv.All(font.validate_pillow_installed, IMAGE_SCHEMA) | ||||
|  | ||||
|  | ||||
| def load_svg_image(file: bytes, resize: tuple[int, int]): | ||||
|     # Local import only to allow "validate_pillow_installed" to run *before* importing it | ||||
|     # This import is only needed in case of SVG images; adding it | ||||
|     # Local imports only to allow "validate_pillow_installed" to run *before* importing it | ||||
|     # cairosvg is only needed in case of SVG images; adding it | ||||
|     # to the top would force configurations not using SVG to also have it | ||||
|     # installed for no reason. | ||||
|     from cairosvg import svg2png | ||||
| @@ -281,8 +281,7 @@ async def to_code(config): | ||||
|     except Exception as e: | ||||
|         raise core.EsphomeError(f"Could not load image file {path}: {e}") | ||||
|  | ||||
|     mime = Magic(mime=True) | ||||
|     file_type = mime.from_buffer(file_contents) | ||||
|     file_type = puremagic.from_string(file_contents, mime=True) | ||||
|  | ||||
|     resize = config.get(CONF_RESIZE) | ||||
|     if "svg" in file_type: | ||||
|   | ||||
| @@ -15,7 +15,7 @@ click==8.1.7 | ||||
| esphome-dashboard==20240620.0 | ||||
| aioesphomeapi==24.6.2 | ||||
| zeroconf==0.132.2 | ||||
| python-magic==0.4.27 | ||||
| puremagic==1.27 | ||||
| ruamel.yaml==0.18.6 # dashboard_import | ||||
|  | ||||
| # esp-idf requires this, but doesn't bundle it by default | ||||
|   | ||||
		Reference in New Issue
	
	Block a user