diff options
author | Mattias Andrée <maandree@operamail.com> | 2014-03-03 22:56:08 +0100 |
---|---|---|
committer | Mattias Andrée <maandree@operamail.com> | 2014-03-03 22:56:08 +0100 |
commit | a6853eb603e8d0bb5d28c358d41f1e3632da0467 (patch) | |
tree | 07740a414319d999057d9dd39b1b4283218926a0 /src/plugins/chase.py | |
parent | add weather to moderate example (diff) | |
download | xpybar-a6853eb603e8d0bb5d28c358d41f1e3632da0467.tar.gz xpybar-a6853eb603e8d0bb5d28c358d41f1e3632da0467.tar.bz2 xpybar-a6853eb603e8d0bb5d28c358d41f1e3632da0467.tar.xz |
add chase
Signed-off-by: Mattias Andrée <maandree@operamail.com>
Diffstat (limited to '')
-rw-r--r-- | src/plugins/chase.py | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/src/plugins/chase.py b/src/plugins/chase.py new file mode 100644 index 0000000..d782ea9 --- /dev/null +++ b/src/plugins/chase.py @@ -0,0 +1,56 @@ +# -*- python -*- +''' +xpybar – xmobar replacement written in python +Copyright © 2014 Mattias Andrée (maandree@member.fsf.org) + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +''' + +import sys +import subprocess + + +class Chase: + ''' + Does Chase have a job yet? + + @variable status:bool? Whether or not Chase have a job, `None` if information has not been fetched + ''' + + + def __init__(self): + ''' + Constructor + ''' + self.status = None + + + def update(self): + ''' + Update the information + + @return :bool Whether information could be fetched + ''' + command = ['wget', 'http://www.doeschasehaveajobyet.com', '-O', '-'] + proc = subprocess.Popen(command, stderr = sys.stderr, stdout = subprocess.PIPE) + page = proc.stdout.read() + proc.wait() + if proc.returncode == 0: + page = page.decode('utf-8', 'replace').split('\n') + page = filter(lambda line : line == 'NO', page) + page = filter(lambda line : not line == 'NOVEMBER', page) + self.status = len(list(page)) == 1 + return True + return False + |