diff options
author | Guillaume Seguin <guillaume@segu.in> | 2013-06-04 17:36:18 +0400 |
---|---|---|
committer | Guillaume Seguin <guillaume@segu.in> | 2013-06-04 17:36:18 +0400 |
commit | 02a34666f688c45a7fabf8e710b2c09c2a1ff29d (patch) | |
tree | 4e9ecab57caba40ac12b80c9b850fc71278b1538 /printcore.py | |
parent | 2cc0df4f664202cd86cc1b6ad4588fcbf872500c (diff) |
Nest print thread into a try block
Diffstat (limited to 'printcore.py')
-rwxr-xr-x | printcore.py | 35 |
1 files changed, 20 insertions, 15 deletions
diff --git a/printcore.py b/printcore.py index 58e12d9..12cd7a9 100755 --- a/printcore.py +++ b/printcore.py @@ -405,21 +405,26 @@ class printcore(): def _print(self, resuming = False): self._stop_sender() - if self.startcb: - #callback for printing started - try: self.startcb(resuming) - except: pass - while self.printing and self.printer and self.online: - self._sendnext() - self.sentlines = {} - self.log.clear() - self.sent = [] - if self.endcb: - #callback for printing done - try: self.endcb() - except: pass - self.print_thread = None - self._start_sender() + try: + if self.startcb: + #callback for printing started + try: self.startcb(resuming) + except: pass + while self.printing and self.printer and self.online: + self._sendnext() + self.sentlines = {} + self.log.clear() + self.sent = [] + if self.endcb: + #callback for printing done + try: self.endcb() + except: pass + except: + print "Print thread died due to the following error:" + traceback.print_exc() + finally: + self.print_thread = None + self._start_sender() #now only "pause" is implemented as host command def processHostCommand(self, command): |