Fix time plugin

This patch adds the tzlocal package to help find the local timezone
correctly such that pytz can correctly built the time needed for
the time plugin.
This commit is contained in:
Hemna 2024-04-10 22:03:29 -04:00
parent 886ad9be09
commit 94f36e0aad
4 changed files with 7 additions and 4 deletions

View File

@ -1,9 +1,9 @@
import logging import logging
import re import re
import time
from oslo_config import cfg from oslo_config import cfg
import pytz import pytz
from tzlocal import get_localzone
from aprsd import packets, plugin, plugin_utils from aprsd import packets, plugin, plugin_utils
from aprsd.utils import fuzzy, trace from aprsd.utils import fuzzy, trace
@ -22,7 +22,8 @@ class TimePlugin(plugin.APRSDRegexCommandPluginBase):
short_description = "What is the current local time." short_description = "What is the current local time."
def _get_local_tz(self): def _get_local_tz(self):
return pytz.timezone(time.strftime("%Z")) lz = get_localzone()
return pytz.timezone(str(lz))
def _get_utcnow(self): def _get_utcnow(self):
return pytz.datetime.datetime.utcnow() return pytz.datetime.datetime.utcnow()

View File

@ -23,7 +23,7 @@ coverage[toml]==7.4.4 # via pytest-cov
distlib==0.3.8 # via virtualenv distlib==0.3.8 # via virtualenv
docutils==0.20.1 # via sphinx docutils==0.20.1 # via sphinx
exceptiongroup==1.2.0 # via pytest exceptiongroup==1.2.0 # via pytest
filelock==3.13.3 # via tox, virtualenv filelock==3.13.4 # via tox, virtualenv
fixit==2.1.0 # via gray fixit==2.1.0 # via gray
flake8==7.0.0 # via -r dev-requirements.in, pep8-naming flake8==7.0.0 # via -r dev-requirements.in, pep8-naming
gray==0.14.0 # via -r dev-requirements.in gray==0.14.0 # via -r dev-requirements.in

View File

@ -11,6 +11,7 @@ pbr
pyyaml pyyaml
requests requests
pytz pytz
tzlocal
six six
thesmuggler thesmuggler
update_checker update_checker

View File

@ -23,7 +23,7 @@ debtcollector==3.0.0 # via oslo-config
deprecated==1.2.14 # via click-params deprecated==1.2.14 # via click-params
dnspython==2.6.1 # via eventlet dnspython==2.6.1 # via eventlet
eventlet==0.36.1 # via -r requirements.in eventlet==0.36.1 # via -r requirements.in
flask==3.0.2 # via -r requirements.in, flask-httpauth, flask-socketio flask==3.0.3 # via -r requirements.in, flask-httpauth, flask-socketio
flask-httpauth==4.8.0 # via -r requirements.in flask-httpauth==4.8.0 # via -r requirements.in
flask-socketio==5.3.6 # via -r requirements.in flask-socketio==5.3.6 # via -r requirements.in
geographiclib==2.0 # via geopy geographiclib==2.0 # via geopy
@ -67,6 +67,7 @@ tabulate==0.9.0 # via -r requirements.in
thesmuggler==1.0.1 # via -r requirements.in thesmuggler==1.0.1 # via -r requirements.in
typing-extensions==4.11.0 # via typing-inspect typing-extensions==4.11.0 # via typing-inspect
typing-inspect==0.9.0 # via dataclasses-json typing-inspect==0.9.0 # via dataclasses-json
tzlocal==5.2 # via -r requirements.in
update-checker==0.18.0 # via -r requirements.in update-checker==0.18.0 # via -r requirements.in
urllib3==2.2.1 # via requests urllib3==2.2.1 # via requests
validators==0.22.0 # via click-params validators==0.22.0 # via click-params