Use pytz to figure out local timezone dynamically
This commit is contained in:
parent
7d989a6fca
commit
c19de638a1
1 changed files with 13 additions and 1 deletions
|
@ -15,6 +15,11 @@ from __future__ import absolute_import
|
|||
import datetime
|
||||
import locale
|
||||
import bumblebee.engine
|
||||
import os
|
||||
try:
|
||||
import pytz
|
||||
except ModuleNotFoundError:
|
||||
pytz = None
|
||||
|
||||
def default_format(module):
|
||||
default = "%x %X"
|
||||
|
@ -41,8 +46,15 @@ class Module(bumblebee.engine.Module):
|
|||
locale.setlocale(locale.LC_TIME, ('en_US', 'UTF-8'))
|
||||
|
||||
def get_time(self, widget):
|
||||
if pytz:
|
||||
# Get local timezone (see https://github.com/tobi-wan-kenobi/bumblebee-status/issues/468)
|
||||
my_tz_name = '/'.join(os.path.realpath('/etc/localtime').split('/')[-2:])
|
||||
my_tz = pytz.timezone(my_tz_name)
|
||||
else:
|
||||
my_tz = None
|
||||
|
||||
enc = locale.getpreferredencoding()
|
||||
retval = datetime.datetime.now().strftime(self._fmt)
|
||||
retval = datetime.datetime.now(my_tz).strftime(self._fmt)
|
||||
if hasattr(retval, "decode"):
|
||||
return retval.decode(enc)
|
||||
return retval
|
||||
|
|
Loading…
Reference in a new issue