diff --git a/cerbero/tools/osxuniversalgenerator.py b/cerbero/tools/osxuniversalgenerator.py index 08f90ca9d6d77338bd7d4898356fc06daae209c7..31bd9ac0856881fab0bf0c4fa0c65acf77113070 100644 --- a/cerbero/tools/osxuniversalgenerator.py +++ b/cerbero/tools/osxuniversalgenerator.py @@ -119,7 +119,7 @@ class OSXUniversalGenerator(object): def get_file_type(self, filepath): cmd = '%s -bh "%s"' % (self.FILE_CMD, filepath) - return self._call(cmd)[0:-1] #remove trailing \n + return self._call(cmd)[:-1] #remove trailing \n def _detect_merge_action(self, files_list): actions = [] @@ -228,14 +228,7 @@ class OSXUniversalGenerator(object): def _call(self, cmd, cwd=None): cmd = cmd or self.root - process = subprocess.Popen(cmd, cwd=cwd, - stdout=subprocess.PIPE, shell=True) - output, unused_err = process.communicate() - - if sys.stdout.encoding: - output = output.decode(sys.stdout.encoding) - - return output + return shell.check_call(cmd, cmd_dir=cwd, split=False, shell=True) class Main(object): diff --git a/cerbero/utils/shell.py b/cerbero/utils/shell.py index f684ab5bcea3173aac7248d9498e73d95ce0b9ab..9183b6e6cdb2e2291d87553958d9c6b4857805db 100644 --- a/cerbero/utils/shell.py +++ b/cerbero/utils/shell.py @@ -193,7 +193,7 @@ def check_call(cmd, cmd_dir=None, shell=False, split=True, fail=False, env=None) raise FatalError(_("Error running command: %s") % cmd) if sys.stdout.encoding: - output = output.decode(sys.stdout.encoding) + output = output.decode(sys.stdout.encoding, errors='replace') return output