X-Git-Url: https://diplodocus.org/git/flac-archive/blobdiff_plain/008e82b0685c219dc12f8183a7906b7d3d8131c8..73112f3f050b8f78a6d03449c00a60c6a30f715e:/rewrite-tags diff --git a/rewrite-tags b/rewrite-tags index c44a27b..a3b5eb6 100755 --- a/rewrite-tags +++ b/rewrite-tags @@ -4,7 +4,6 @@ import os, sys import subprocess import tempfile from errno import EEXIST -from subprocess import Popen, PIPE from flac_archive.tags import Tags @@ -21,18 +20,19 @@ class SubprocessError(Exception): 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 @@ -41,11 +41,11 @@ def rewrite_track_tags(track, tags, fn, tmp): 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.