mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-31 07:03:55 +00:00 
			
		
		
		
	[font et. al.] Remove explicit check for pillow installed. (#7891)
This commit is contained in:
		| @@ -2,7 +2,6 @@ import logging | |||||||
|  |  | ||||||
| from esphome import automation, core | from esphome import automation, core | ||||||
| import esphome.codegen as cg | import esphome.codegen as cg | ||||||
| from esphome.components import font |  | ||||||
| import esphome.components.image as espImage | import esphome.components.image as espImage | ||||||
| from esphome.components.image import ( | from esphome.components.image import ( | ||||||
|     CONF_USE_TRANSPARENCY, |     CONF_USE_TRANSPARENCY, | ||||||
| @@ -131,7 +130,7 @@ ANIMATION_SCHEMA = cv.Schema( | |||||||
|     ) |     ) | ||||||
| ) | ) | ||||||
|  |  | ||||||
| CONFIG_SCHEMA = cv.All(font.validate_pillow_installed, ANIMATION_SCHEMA) | CONFIG_SCHEMA = ANIMATION_SCHEMA | ||||||
|  |  | ||||||
| NEXT_FRAME_SCHEMA = automation.maybe_simple_id( | NEXT_FRAME_SCHEMA = automation.maybe_simple_id( | ||||||
|     { |     { | ||||||
|   | |||||||
| @@ -1,4 +1,3 @@ | |||||||
| from collections.abc import Iterable |  | ||||||
| import functools | import functools | ||||||
| import hashlib | import hashlib | ||||||
| import logging | import logging | ||||||
| @@ -8,7 +7,6 @@ import re | |||||||
|  |  | ||||||
| import freetype | import freetype | ||||||
| import glyphsets | import glyphsets | ||||||
| from packaging import version |  | ||||||
| import requests | import requests | ||||||
|  |  | ||||||
| from esphome import core, external_files | from esphome import core, external_files | ||||||
| @@ -88,7 +86,7 @@ def flatten(lists) -> list: | |||||||
|     return list(chain.from_iterable(lists)) |     return list(chain.from_iterable(lists)) | ||||||
|  |  | ||||||
|  |  | ||||||
| def check_missing_glyphs(file, codepoints: Iterable, warning: bool = False): | def check_missing_glyphs(file, codepoints, warning: bool = False): | ||||||
|     """ |     """ | ||||||
|     Check that the given font file actually contains the requested glyphs |     Check that the given font file actually contains the requested glyphs | ||||||
|     :param file: A Truetype font file |     :param file: A Truetype font file | ||||||
| @@ -177,24 +175,6 @@ def validate_glyphs(config): | |||||||
|     return config |     return config | ||||||
|  |  | ||||||
|  |  | ||||||
| def validate_pillow_installed(value): |  | ||||||
|     try: |  | ||||||
|         import PIL |  | ||||||
|     except ImportError as err: |  | ||||||
|         raise cv.Invalid( |  | ||||||
|             "Please install the pillow python package to use this feature. " |  | ||||||
|             '(pip install "pillow==10.4.0")' |  | ||||||
|         ) from err |  | ||||||
|  |  | ||||||
|     if version.parse(PIL.__version__) != version.parse("10.4.0"): |  | ||||||
|         raise cv.Invalid( |  | ||||||
|             "Please update your pillow installation to 10.4.0. " |  | ||||||
|             '(pip install "pillow==10.4.0")' |  | ||||||
|         ) |  | ||||||
|  |  | ||||||
|     return value |  | ||||||
|  |  | ||||||
|  |  | ||||||
| FONT_EXTENSIONS = (".ttf", ".woff", ".otf") | FONT_EXTENSIONS = (".ttf", ".woff", ".otf") | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -421,7 +401,7 @@ FONT_SCHEMA = cv.Schema( | |||||||
|     }, |     }, | ||||||
| ) | ) | ||||||
|  |  | ||||||
| CONFIG_SCHEMA = cv.All(validate_pillow_installed, FONT_SCHEMA, validate_glyphs) | CONFIG_SCHEMA = cv.All(FONT_SCHEMA, validate_glyphs) | ||||||
|  |  | ||||||
|  |  | ||||||
| # PIL doesn't provide a consistent interface for both TrueType and bitmap | # PIL doesn't provide a consistent interface for both TrueType and bitmap | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| from esphome import core, pins | from esphome import core, pins | ||||||
| import esphome.codegen as cg | import esphome.codegen as cg | ||||||
| from esphome.components import display, font, spi | from esphome.components import display, spi | ||||||
| from esphome.components.display import validate_rotation | from esphome.components.display import validate_rotation | ||||||
| import esphome.config_validation as cv | import esphome.config_validation as cv | ||||||
| from esphome.const import ( | from esphome.const import ( | ||||||
| @@ -147,7 +147,6 @@ def _validate(config): | |||||||
|  |  | ||||||
|  |  | ||||||
| CONFIG_SCHEMA = cv.All( | CONFIG_SCHEMA = cv.All( | ||||||
|     font.validate_pillow_installed, |  | ||||||
|     display.FULL_DISPLAY_SCHEMA.extend( |     display.FULL_DISPLAY_SCHEMA.extend( | ||||||
|         { |         { | ||||||
|             cv.GenerateID(): cv.declare_id(ILI9XXXDisplay), |             cv.GenerateID(): cv.declare_id(ILI9XXXDisplay), | ||||||
|   | |||||||
| @@ -10,7 +10,6 @@ import puremagic | |||||||
|  |  | ||||||
| from esphome import core, external_files | from esphome import core, external_files | ||||||
| import esphome.codegen as cg | import esphome.codegen as cg | ||||||
| from esphome.components import font |  | ||||||
| import esphome.config_validation as cv | import esphome.config_validation as cv | ||||||
| from esphome.const import ( | from esphome.const import ( | ||||||
|     CONF_DITHER, |     CONF_DITHER, | ||||||
| @@ -233,7 +232,7 @@ IMAGE_SCHEMA = cv.Schema( | |||||||
|     ) |     ) | ||||||
| ) | ) | ||||||
|  |  | ||||||
| CONFIG_SCHEMA = cv.All(font.validate_pillow_installed, IMAGE_SCHEMA) | CONFIG_SCHEMA = IMAGE_SCHEMA | ||||||
|  |  | ||||||
|  |  | ||||||
| def load_svg_image(file: bytes, resize: tuple[int, int]): | def load_svg_image(file: bytes, resize: tuple[int, int]): | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user