Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/kliment/Printrun.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillaume Seguin <guillaume@segu.in>2013-06-04 17:36:18 +0400
committerGuillaume Seguin <guillaume@segu.in>2013-06-04 17:36:18 +0400
commit02a34666f688c45a7fabf8e710b2c09c2a1ff29d (patch)
tree4e9ecab57caba40ac12b80c9b850fc71278b1538 /printcore.py
parent2cc0df4f664202cd86cc1b6ad4588fcbf872500c (diff)
Nest print thread into a try block
Diffstat (limited to 'printcore.py')
-rwxr-xr-xprintcore.py35
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):