Removes references to croniter from utility_meter (#132364)

remove croniter
This commit is contained in:
Diogo Gomes 2024-12-05 17:45:04 +00:00 committed by GitHub
parent 52e6afdcca
commit 7de9e9d37a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 8 additions and 6 deletions

View File

@ -1,9 +1,9 @@
"""Support for tracking consumption over given periods of time.""" """Support for tracking consumption over given periods of time."""
from datetime import timedelta from datetime import datetime, timedelta
import logging import logging
from croniter import croniter from cronsim import CronSim, CronSimError
import voluptuous as vol import voluptuous as vol
from homeassistant.components.select import DOMAIN as SELECT_DOMAIN from homeassistant.components.select import DOMAIN as SELECT_DOMAIN
@ -47,9 +47,12 @@ DEFAULT_OFFSET = timedelta(hours=0)
def validate_cron_pattern(pattern): def validate_cron_pattern(pattern):
"""Check that the pattern is well-formed.""" """Check that the pattern is well-formed."""
if croniter.is_valid(pattern): try:
CronSim(pattern, datetime(2020, 1, 1)) # any date will do
except CronSimError as err:
_LOGGER.error("Invalid cron pattern %s: %s", pattern, err)
raise vol.Invalid("Invalid pattern") from err
return pattern return pattern
raise vol.Invalid("Invalid pattern")
def period_or_cron(config): def period_or_cron(config):

View File

@ -6,7 +6,6 @@
"documentation": "https://www.home-assistant.io/integrations/utility_meter", "documentation": "https://www.home-assistant.io/integrations/utility_meter",
"integration_type": "helper", "integration_type": "helper",
"iot_class": "local_push", "iot_class": "local_push",
"loggers": ["croniter"],
"quality_scale": "internal", "quality_scale": "internal",
"requirements": ["cronsim==2.6"] "requirements": ["cronsim==2.6"]
} }