Avoid loading timezone at runtime (#157)
* Avoid loading timezone at runtime Pytz will load timezone info from files in a lazy fashion on first access. This triggers warnings in HA due to it blocking the event loop. Pre-load the needed timezone info at module import instead, which will run in executor in HA. * Update value_types.py
This commit is contained in:
parent
3cf627eedc
commit
b42ceb6555
@ -2,6 +2,10 @@ import datetime
|
||||
|
||||
import pytz
|
||||
|
||||
# TODO : Use system timezone
|
||||
# Preload timezone to avoid loading in event loop later
|
||||
local_tz = pytz.timezone('Europe/Amsterdam')
|
||||
|
||||
|
||||
def timestamp(value):
|
||||
try:
|
||||
@ -20,8 +24,6 @@ def timestamp(value):
|
||||
else:
|
||||
is_dst = False
|
||||
|
||||
# TODO : Use system timezone
|
||||
local_tz = pytz.timezone('Europe/Amsterdam')
|
||||
localized_datetime = local_tz.localize(naive_datetime, is_dst=is_dst)
|
||||
|
||||
return localized_datetime.astimezone(pytz.utc)
|
||||
|
Loading…
Reference in New Issue
Block a user