summaryrefslogtreecommitdiffstats
path: root/py3status/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'py3status/__init__.py')
-rwxr-xr-xpy3status/__init__.py19
1 files changed, 11 insertions, 8 deletions
diff --git a/py3status/__init__.py b/py3status/__init__.py
index 5394f13..f72d008 100755
--- a/py3status/__init__.py
+++ b/py3status/__init__.py
@@ -106,7 +106,6 @@ class I3status(Thread):
self.last_prefix = None
self.lock = lock
self.standalone = standalone
- self.time_format = '%Y-%m-%d %H:%M:%S'
self.tmpfile_path = None
#
self.config = self.i3status_config_reader(i3status_config_path)
@@ -259,12 +258,13 @@ class I3status(Thread):
on_c[section_name] = on_c.get(section_name, {})
on_c[section_name][button] = value
- # override time format
+ # store time and tztime formats
if (
section_name.split(' ')[0] in ['time', 'tztime']
and key == 'format'
):
- self.time_format = value
+ key_name = section_name.split(' ')[0] + '_format'
+ setattr(self, key_name, value)
if line.endswith('}'):
in_section = False
@@ -291,10 +291,12 @@ class I3status(Thread):
Adjust the 'time' object so that it's updated at interval seconds
"""
json_list = deepcopy(self.json_list)
+ default_time_format = '%Y-%m-%d %H:%M:%S'
try:
- time_format = self.time_format
for item in json_list:
- if 'name' in item and item['name'] in ['time', 'tztime']:
+ if item.get('name') in ['time', 'tztime']:
+ key_name = item.get('name') + '_format'
+ time_format = getattr(self, key_name, default_time_format)
i3status_time = item['full_text'].encode('UTF-8', 'replace')
try:
# python3 compatibility code
@@ -302,15 +304,16 @@ class I3status(Thread):
except:
pass
# add mendatory items in i3status time format wrt issue #18
+ time_fmt = time_format
for fmt in ['%Y', '%m', '%d']:
if not fmt in time_format:
- time_format = '{} {}'.format(time_format, fmt)
+ time_fmt = '{} {}'.format(time_format, fmt)
i3status_time = '{} {}'.format(
i3status_time, datetime.now().strftime(fmt)
)
- date = datetime.strptime(i3status_time, time_format)
+ date = datetime.strptime(i3status_time, time_fmt)
date += delta
- item['full_text'] = date.strftime(self.time_format)
+ item['full_text'] = date.strftime(time_format)
item['transformed'] = True
except Exception:
err = sys.exc_info()[1]