import subprocess
import tempfile
from errno import EEXIST
-from subprocess import Popen, PIPE
from flac_archive.tags import Tags
Exception.__init__(self, msg % (abs(status), command_msg))
self.status = status
self.command = command
- self.stderr = stderr
+ self.stderr = ''.join(stderr)
def get_tags(fn):
tags = Tags()
command = ['metaflac', '--no-utf8-convert', '--export-tags-to=-', fn]
- p = Popen(command, stdout=PIPE)
+ p = subprocess.Popen(command, stdout=subprocess.PIPE,
+ stderr=subprocess.STDOUT)
tags.load(p.stdout)
status = p.wait()
if status != 0:
- raise SubprocessError(status, command=command, stderr=p.stderr)
+ raise SubprocessError(status, command=command, stderr=p.stdout)
return tags
tmp.close()
command = ['metaflac', '--no-utf8-convert', '--dont-use-padding',
'--remove-all-tags', '--import-tags-from', tmp.name, fn]
- p = Popen(command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
- stdout, stderr = p.communicate()
+ p = subprocess.Popen(command, stdout=subprocess.PIPE,
+ stderr=subprocess.STDOUT)
status = p.wait()
if status != 0:
- raise SubprocessError(status, command=command, stderr=stdout)
+ raise SubprocessError(status, command=command, stderr=p.stdout)
def do_read(filenames):
# Use this mapping of tag names to sets of tag values to detect global tags.