cmus - Use run_through_shell()

This commit is contained in:
Raphael Scholer 2015-08-18 21:21:16 +02:00
parent 0daf4ea0c1
commit 5583324c13

View File

@ -1,8 +1,8 @@
import os import os
from i3pystatus import IntervalModule, formatp from i3pystatus import IntervalModule, formatp
from i3pystatus.core.command import run_through_shell
from i3pystatus.core.util import TimeWrapper from i3pystatus.core.util import TimeWrapper
import subprocess
def _extract_artist_title(input): def _extract_artist_title(input):
@ -54,16 +54,14 @@ class Cmus(IntervalModule):
on_downscroll = 'previous_song' on_downscroll = 'previous_song'
def _cmus_command(self, command): def _cmus_command(self, command):
p = subprocess.Popen('cmus-remote --{command}'.format(command=command), shell=True, cmdline = 'cmus-remote --{command}'.format(command=command)
stdout=subprocess.PIPE, return run_through_shell(cmdline, enable_shell=True)
stderr=subprocess.STDOUT)
return p.communicate()
def _query_cmus(self): def _query_cmus(self):
status_dict = {} status_dict = {}
status, error = self._cmus_command('query') cmd = self._cmus_command('query')
if status != b'cmus-remote: cmus is not running\n': if not cmd.rc:
status = status.decode('utf-8').split('\n') status = cmd.out.split('\n')
for item in status: for item in status:
split_item = item.split(' ') split_item = item.split(' ')
if split_item[0] in ['tag', 'set']: if split_item[0] in ['tag', 'set']: