Browse Source

fallback when decoding errors happen

pull/393/head
Jannik Waschkau 7 years ago
committed by Chris
parent
commit
f189006dd4
1 changed files with 3 additions and 2 deletions
  1. 5
      gooey/gui/processor.py

5
gooey/gui/processor.py

@ -66,7 +66,8 @@ class ProcessController(object):
line = process.stdout.readline() line = process.stdout.readline()
if not line: if not line:
break break
pub.send_message(events.CONSOLE_UPDATE, msg=line.decode(self.encoding)) pub.send_message(events.CONSOLE_UPDATE, msg=line.decode(self.encoding, 'replace'))
pub.send_message(events.PROGRESS_UPDATE, pub.send_message(events.PROGRESS_UPDATE,
progress=self._extract_progress(line)) progress=self._extract_progress(line))
pub.send_message(events.EXECUTION_COMPLETE) pub.send_message(events.EXECUTION_COMPLETE)
@ -77,7 +78,7 @@ class ProcessController(object):
user-supplied regex and calculation instructions user-supplied regex and calculation instructions
''' '''
# monad-ish dispatch to avoid the if/else soup # monad-ish dispatch to avoid the if/else soup
find = partial(re.search, string=text.strip().decode(self.encoding)) find = partial(re.search, string=text.strip().decode(self.encoding, 'replace'))
regex = unit(self.progress_regex) regex = unit(self.progress_regex)
match = bind(regex, find) match = bind(regex, find)
result = bind(match, self._calculate_progress) result = bind(match, self._calculate_progress)

|||||||
100:0
Loading…
Cancel
Save