def start_up(self): """Starting up initials""" self.picaso.clear_screen() # Testing demon connection attempt_number = 0 while not test_demon_connection(): self.picaso.move_cursor(2, 0) attempt_number += 1 status_string = "Demon connection attempt {} failed".format( attempt_number) self.picaso.put_string(status_string) time.sleep(1) # Demon connection successful self.picaso.clear_screen() self.picaso.move_cursor(2, 0) status_string = "Demon connection attempt succeeded".format( attempt_number) self.picaso.put_string(status_string) # Create ssh tunnel self.picaso.move_cursor(3, 0) if create_tunnel(): self.picaso.put_string('Created SSH tunnel') else: self.picaso.put_string('Unable to create SSH tunnel. Quitting!') time.sleep(5) raise SystemExit('Unable to create ssh tunnel') # Print network interface and ip address interface, ip_address = get_ip_address() self.picaso.move_cursor(5, 0) interface_string = "Interface: {}".format(interface) self.picaso.put_string(interface_string) self.picaso.move_cursor(6, 0) ip_address_string = "Ip address: {}".format(ip_address) self.picaso.put_string(ip_address_string) # Start the database backend time.sleep(1) for _ in range(10): try: self.bar_database = BarDatabase('127.0.0.1', 9000) break except OperationalError: time.sleep(1) self.picaso.move_cursor(7, 0) self.picaso.put_string('Connection to database') # Start barcode scanner dev_ = detect_barcode_device() print dev_ self.tbs = ThreadedBarcodeReader(dev_) self.tbs.start() time.sleep(1)
def start_up(self): """Starting up initials""" self.picaso.clear_screen() # Testing demon connection attempt_number = 0 while not test_demon_connection(): self.picaso.move_cursor(2, 0) attempt_number += 1 status_string = "Demon connection attempt {} failed".format(attempt_number) self.picaso.put_string(status_string) time.sleep(1) # Demon connection successful self.picaso.clear_screen() self.picaso.move_cursor(2, 0) status_string = "Demon connection attempt succeeded".format(attempt_number) self.picaso.put_string(status_string) # Create ssh tunnel self.picaso.move_cursor(3, 0) if create_tunnel(): self.picaso.put_string('Created SSH tunnel') else: self.picaso.put_string('Unable to create SSH tunnel. Quitting!') time.sleep(5) raise SystemExit('Unable to create ssh tunnel') # Print network interface and ip address interface, ip_address = get_ip_address() self.picaso.move_cursor(5, 0) interface_string = "Interface: {}".format(interface) self.picaso.put_string(interface_string) self.picaso.move_cursor(6, 0) ip_address_string = "Ip address: {}".format(ip_address) self.picaso.put_string(ip_address_string) # Start the database backend time.sleep(1) for _ in range(10): try: self.bar_database = BarDatabase('127.0.0.1', 9000) break except OperationalError: time.sleep(1) self.picaso.move_cursor(7, 0) self.picaso.put_string('Connection to database') # Start barcode scanner dev_ = detect_barcode_device() print dev_ self.tbs = ThreadedBarcodeReader(dev_) self.tbs.start() time.sleep(1)
def __init__(self): LOGGER.info('Started Picture Logbook') self.picaso = PicasouLCD28PTU(serial_device='/dev/ttyUSB0', baudrate=115200, debug=True) dev_ = detect_barcode_device() LOGGER.info('Barcode device: ' + dev_) self.tbs = ThreadedBarcodeReader(dev_) self.tbs.start() self.setup = settings.setup self.livesocket = LiveSocket(self.setup + '-Picture Logbook', ['logged_in_user'], 1) self.livesocket.start() self.force_logout_user = settings.force_logut_user self.camera = cv.CaptureFromCAM(0) cv.SetCaptureProperty(self.camera, cv.CV_CAP_PROP_FRAME_WIDTH, 320) cv.SetCaptureProperty(self.camera, cv.CV_CAP_PROP_FRAME_HEIGHT, 240) self.database = MySQLdb.connect(host='servcinf-sql', user='******', passwd='picturelogbook', db='cinfdata') self.database.ping(True) query = 'select user, login from picture_logbooks where setup = "' query += self.setup + '" order by time desc limit 1' cursor = self.database.cursor() cursor.execute(query) current_state = cursor.fetchone() try: current_login = current_state[1] except TypeError: # Happens with no items in database current_login = 0 if current_login == 0: self.logged_in_user = None else: self.logged_in_user = current_state[0] LOGGER.info('Initially logged in user:' + str(self.logged_in_user)) self.update_external_screen(str(self.logged_in_user))
def __init__(self): LOGGER.info('Started Picture Logbook') self.picaso = PicasouLCD28PTU(serial_device='/dev/ttyUSB0', baudrate=115200, debug=True) dev_ = detect_barcode_device() LOGGER.info('Barcode device: ' + dev_) self.tbs = ThreadedBarcodeReader(dev_) self.tbs.start() self.setup = settings.setup self.livesocket = LiveSocket(self.setup + '-Picture Logbook', ['logged_in_user']) self.livesocket.start() self.force_logout_user = settings.force_logut_user self.camera = cv.CaptureFromCAM(0) cv.SetCaptureProperty(self.camera, cv.CV_CAP_PROP_FRAME_WIDTH, 320) cv.SetCaptureProperty(self.camera, cv.CV_CAP_PROP_FRAME_HEIGHT, 240) self.database = MySQLdb.connect(host='servcinf-sql', user='******', passwd='picturelogbook', db='cinfdata') self.database.ping(True) query = 'select user, login from picture_logbooks where setup = "' query += self.setup + '" order by time desc limit 1' cursor = self.database.cursor() cursor.execute(query) current_state = cursor.fetchone() try: current_login = current_state[1] except TypeError: # Happens with no items in database current_login = 0 if current_login == 0: self.logged_in_user = None else: self.logged_in_user = current_state[0] LOGGER.info('Initially logged in user:' + str(self.logged_in_user)) self.update_external_screen(str(self.logged_in_user))