diff options
| author | Ultrabug <ultrabug@gentoo.org> | 2015-02-08 16:50:04 +0100 |
|---|---|---|
| committer | Ultrabug <ultrabug@gentoo.org> | 2015-02-08 16:50:04 +0100 |
| commit | 3fd35ed8f05104abbe2e369a88b34f0bce6d4dfe (patch) | |
| tree | 070059849f23e5ec8d787c1ad69f1a385721c639 | |
| parent | 7e3cccbf69c3a2c2bf1dd7d3cee82404a670dbf0 (diff) | |
fix time and tztime format handling
| -rwxr-xr-x | py3status/__init__.py | 19 |
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] |
