diff options
| author | Mattias Andrée <maandree@operamail.com> | 2014-02-28 21:45:59 +0100 | 
|---|---|---|
| committer | Mattias Andrée <maandree@operamail.com> | 2014-02-28 21:45:59 +0100 | 
| commit | 34b3db242f9076d68f20fdeb188836dee690d9a3 (patch) | |
| tree | 5da7ee658abd3f67b95a04dda14e49ec6e021f85 | |
| parent | fix special chars (diff) | |
| download | xpybar-34b3db242f9076d68f20fdeb188836dee690d9a3.tar.gz xpybar-34b3db242f9076d68f20fdeb188836dee690d9a3.tar.bz2 xpybar-34b3db242f9076d68f20fdeb188836dee690d9a3.tar.xz | |
add spawn_read
Signed-off-by: Mattias Andrée <maandree@operamail.com>
Diffstat (limited to '')
| -rw-r--r-- | examples/plugin-test | 6 | ||||
| -rw-r--r-- | src/util.py | 13 | 
2 files changed, 17 insertions, 2 deletions
| diff --git a/examples/plugin-test b/examples/plugin-test index 214449a..db316ee 100644 --- a/examples/plugin-test +++ b/examples/plugin-test @@ -41,7 +41,9 @@ def redraw():      users = ['%s{%i}' % (colour_user(u) % u, len(users_[u])) for u in users_.keys()]      users = 'Users: %s' % (' '.join(users)) -    text = '%s │ %s │ %s │ %s' -    text %= (uptime, idle, loadavg, users) +    time = spawn_read('date', '+%Y-(%m)%b-%d %T, %a w%V, %Z') +     +    text = '%s │ %s │ %s │ %s │ %s' +    text %= (time, uptime, idle, loadavg, users)      bar.draw_coloured_text(0, 10, 0, 2, text) diff --git a/src/util.py b/src/util.py index 25aac1f..e95c419 100644 --- a/src/util.py +++ b/src/util.py @@ -58,3 +58,16 @@ def spawn(*command):      proc = subprocess.Popen(list(command), stderr = sys.stderr, stdout = subprocess.PIPE)      return proc.stdout + +def spawn_read(*command): +    ''' +    Spawn an external process and returns its output +     +    @param   command:*str  The command line +    @return  :str          The process's output to stdout, without the final LF +    ''' +    proc = subprocess.Popen(list(command), stderr = sys.stderr, stdout = subprocess.PIPE) +    out = proc.stdout.read().decode('utf-8', 'replace') +    if out.endswith('\n'): +        out = out[:-1] +    return out | 
