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 | |
| 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 'src')
| -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 +  | 
