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:
return pattern CronSim(pattern, datetime(2020, 1, 1)) # any date will do
raise vol.Invalid("Invalid pattern") except CronSimError as err:
_LOGGER.error("Invalid cron pattern %s: %s", pattern, err)
raise vol.Invalid("Invalid pattern") from err
return 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"]
} }