mirror of
https://github.com/esphome/esphome.git
synced 2024-12-12 16:34:56 +01:00
[font et. al.] Remove explicit check for pillow installed. (#7891)
This commit is contained in:
parent
b79a3d6727
commit
e08a9cc3a3
4 changed files with 5 additions and 28 deletions
|
@ -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]):
|
||||||
|
|
Loading…
Reference in a new issue