diff options
| author | Timm Szigat <timm@szigat.de> | 2015-02-01 21:35:47 +0100 |
|---|---|---|
| committer | Timm Szigat <timm@szigat.de> | 2015-02-01 21:35:47 +0100 |
| commit | b8c154127083406349a126d6692d67e1757ef35a (patch) | |
| tree | be58ded26ff23e05589dd52668ca4814d577a9c2 | |
| parent | f7d95d4df21bc442261723298f9889bd093feb97 (diff) | |
spaceapi source now with 20% more beauty
| -rw-r--r-- | py3status/modules/spaceapi.py | 67 |
1 files changed, 35 insertions, 32 deletions
diff --git a/py3status/modules/spaceapi.py b/py3status/modules/spaceapi.py index 55846b8..6f9dcd9 100644 --- a/py3status/modules/spaceapi.py +++ b/py3status/modules/spaceapi.py @@ -23,6 +23,8 @@ class Py3status: - closed_text: text if space is closed, strftime parameters will be translated - closed_color: color if space is closed """ + + # available configuration parameters cache_timeout = 60 url = 'http://status.chaospott.de/status.json' open_text = 'open since %H:%M' @@ -30,50 +32,51 @@ class Py3status: closed_text = 'closed since %H:%M' closed_color = None - def __init__(self): - pass - def check(self, i3s_output_list, i3s_config): response = { - 'name': 'spaceapi', - 'cached_until': time() + self.cache_timeout - } + 'name': 'spaceapi', + 'cached_until': time() + self.cache_timeout + } try: - if not self.open_color: - self.open_color = i3s_config['color_good'] - - if not self.closed_color: - self.closed_color = '' + # if color isn't set, set basic color schema + if not self.open_color: + self.open_color = i3s_config['color_good'] - json_file=urllib.request.urlopen(self.url) + if not self.closed_color: + self.closed_color = '' - reader = codecs.getreader("utf-8") - data = json.load(reader(json_file)) - json_file.close() + + # grab json file + json_file=urllib.request.urlopen(self.url) + reader = codecs.getreader("utf-8") + data = json.load(reader(json_file)) + json_file.close() + + + if(data['state']['open'] == True): + response['full_text'] = self.open_text + response['short_text'] = '%H:%M' + if self.open_color: + response['color'] = self.open_color + else: + response['full_text'] = self.closed_text + response['short_text'] = '' + if self.closed_color: + response['color'] = self.closed_color - - if(data['state']['open'] == True): - response['full_text'] = self.open_text - response['short_text'] = '%H:%M' - if self.open_color: - response['color'] = self.open_color - else: - response['full_text'] = self.closed_text - response['short_test'] = '' - if self.closed_color: - response['color'] = self.closed_color - - - dt = datetime.datetime.fromtimestamp(data['state']['lastchange']) - response['full_text'] = dt.strftime(response['full_text']) + # apply strftime to full and short text + dt = datetime.datetime.fromtimestamp(data['state']['lastchange']) + response['full_text'] = dt.strftime(response['full_text']) + response['short_text'] = dt.strftime(response['short_text']) except: - response['full_text'] = ''; + response['full_text'] = ''; return response + if __name__ == "__main__": """ Test this module by calling it directly. @@ -81,5 +84,5 @@ if __name__ == "__main__": from time import sleep x = Py3status() while True: - print(x.check([], {})) + print(x.check([], {'color_good': 'green'})) sleep(1) |
