Merge pull request #98 from canadaduane/friendlydisconnect

Catch exception so that disconnection does not give a traceback
master
kliment 2011-11-20 15:50:06 -08:00
commit edeb43396f
1 changed files with 10 additions and 1 deletions

View File

@ -1,6 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
from serial import Serial from serial import Serial
from threading import Thread from threading import Thread
from select import error as SelectError
import time import time
import sys import sys
@ -76,7 +77,15 @@ class printcore():
while(True): while(True):
if(not self.printer or not self.printer.isOpen): if(not self.printer or not self.printer.isOpen):
break break
line=self.printer.readline() try:
line=self.printer.readline()
except SelectError, e:
if 'Bad file descriptor' in e.args[1]:
print "Can't read from printer (disconnected?)."
break
else:
raise
if(len(line)>1): if(len(line)>1):
self.log+=[line] self.log+=[line]
if self.recvcb is not None: if self.recvcb is not None: