From a6853eb603e8d0bb5d28c358d41f1e3632da0467 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Mon, 3 Mar 2014 22:56:08 +0100 Subject: add chase MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- src/plugins/chase.py | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 src/plugins/chase.py (limited to 'src') 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 . +''' + +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 + -- cgit v1.2.3-70-g09d2