55from PyQt4 import QtGui , QtCore
66
77from dls_barcode .config import BarcodeConfig , BarcodeConfigDialog
8- from dls_barcode .camera import CameraScanner , CameraSwitch , NoNewBarcodeMessage
8+ from dls_barcode .camera import CameraScanner , CameraSwitch , NoNewBarcodeMessage , ScanErrorMessage
99from dls_barcode .gui .scan_button import ScanButton
1010from dls_util import Beeper
1111from dls_util .file import FileManager
@@ -179,15 +179,17 @@ def _read_message_queue(self):
179179 except queue .Empty :
180180 return
181181
182- if self ._camera_switch .is_side () and isinstance ( scanner_msg , NoNewBarcodeMessage ) :
182+ if self ._camera_switch .is_side ():
183183 if not self ._msg_timer_is_running ():
184184 # The result queue is read at a slower rate - use a timer to give it time to process a new barcode
185185 self ._start_msg_timer ()
186- elif self ._has_msg_timer_timeout ():
187- self ._message_box .display (MessageFactory .latest_barcode_message ())
186+ elif self ._has_msg_timer_timeout () and isinstance (scanner_msg , NoNewBarcodeMessage ):
187+ self ._message_box .display (MessageFactory .scan_completed_message ())
188+ elif isinstance (scanner_msg , ScanErrorMessage ):
189+ self ._message_box .display (MessageFactory .from_scanner_message (scanner_msg ))
190+ self ._reset_msg_timer ()
188191 else :
189192 self ._reset_msg_timer ()
190- self ._message_box .display (MessageFactory .from_scanner_message (scanner_msg ))
191193
192194 def _reset_msg_timer (self ):
193195 self ._record_msg_timer = None
@@ -199,7 +201,7 @@ def _msg_timer_is_running(self):
199201 return self ._record_msg_timer is not None
200202
201203 def _has_msg_timer_timeout (self ):
202- timeout = 2 * RESULT_TIMER_PERIOD / 1000
204+ timeout = 2 * RESULT_TIMER_PERIOD / 1000
203205 return self ._msg_timer_is_running () and time .time () - self ._record_msg_timer > timeout
204206
205207 def _read_result_queue (self ):
@@ -229,10 +231,7 @@ def _read_side_scan(self):
229231 if not self ._record_table .is_latest_holder_barcode (holder_barcode ):
230232 self ._latest_holder_barcode = holder_barcode
231233 self ._latest_holder_image = holder_image
232- self ._message_box .display (MessageFactory .puck_recorded_message ())
233234 self ._restart_live_capture_from_top ()
234- else :
235- self ._message_box .display (MessageFactory .latest_barcode_message ())
236235
237236 def _read_top_scan (self ):
238237 if self ._result_queue .empty ():
@@ -253,7 +252,6 @@ def _read_top_scan(self):
253252 # Barcodes successfully read
254253 Beeper .beep ()
255254 print ("Scan Completed" , self ._camera_switch .get_scan_time ())
256- self ._message_box .display (MessageFactory .scan_completed_message ())
257255 self ._restart_live_capture_from_side ()
258256
259257 def _restart_live_capture_from_top (self ):
0 commit comments