diff options
| author | Ultrabug <ultrabug@gentoo.org> | 2015-08-07 15:01:53 +0200 |
|---|---|---|
| committer | Ultrabug <ultrabug@gentoo.org> | 2015-08-07 15:01:53 +0200 |
| commit | 920fe012394e3d0330b7b117f58d37fa5323fb9b (patch) | |
| tree | c09ab8de533094abc79337c294f836c7b96b7618 /py3status | |
| parent | 66787c2470cbf8efd46c017a9fca285dac068649 (diff) | |
dropbox_status module QA and cache_timeout support
Diffstat (limited to 'py3status')
| -rw-r--r-- | py3status/modules/dropboxd_status.py | 35 |
1 files changed, 22 insertions, 13 deletions
diff --git a/py3status/modules/dropboxd_status.py b/py3status/modules/dropboxd_status.py index df1d6a6..763399e 100644 --- a/py3status/modules/dropboxd_status.py +++ b/py3status/modules/dropboxd_status.py @@ -1,9 +1,10 @@ # -*- coding: utf-8 -*- """ -Displays dropboxd status. +Display dropboxd status. Configuration parameters: - - format : Prefix text for the dropbox status + - cache_timeout : how often we refresh this module in seconds (10s default) + - format: prefix text for the dropbox status Valid status values include: - Dropbox isn't running! @@ -16,31 +17,39 @@ Requires: - the 'dropbox-cli' command @author Tjaart van der Walt (github:tjaartvdwalt) -@license BSD 2-Clause License -- http://opensource.org/licenses/BSD-2-Clause +@license BSD """ + +import shlex import subprocess +from time import time class Py3status: - format = "Dropbox: {}" + """ + """ + # available configuration parameters + cache_timeout = 10 + format = 'Dropbox: {}' - def dropbox(self, i3status_output_json, i3status_config): - response = {} + def dropbox(self, i3s_output_list, i3s_config): + response = {'cached_until': time() + self.cache_timeout} - lines = subprocess.check_output(["dropbox-cli", "status"]).decode( - "utf-8").split("\n") + lines = subprocess.check_output( + shlex.split('dropbox-cli status')).decode('utf-8').split('\n') status = lines[0] full_text = self.format.format(str(status)) response['full_text'] = full_text - if (status == "Dropbox isn't running!"): - response.update({'color': i3status_config['color_bad']}) - elif (status == "Up to date"): - response.update({'color': i3status_config['color_good']}) + if status == "Dropbox isn't running!": + response['color'] = i3s_config['color_bad'] + elif status == "Up to date": + response['color'] = i3s_config['color_good'] else: - response.update({'color': i3status_config['color_degraded']}) + response['color'] = i3s_config['color_degraded'] return response + if __name__ == "__main__": from time import sleep x = Py3status() |
