def connect(request): if request.method == 'GET': if server_is_up(): return render(request, 'web-ui-connect.html', { 'serial_ports': ARDUINO_PYRO.get_serial_ports(), }) else: return render(request, 'web-ui-connect.html', { 'show_start_pyroproxy_server_msg': True, }) if ARDUINO_PYRO.is_connected(): raise(Exception("PyArduino is already connected")) if 'connect_emulator' in request.REQUEST: serial_port = DEVICE_FOR_EMULATOR speed = None else: serial_port = request.REQUEST['serial_port'] speed = int(request.REQUEST['speed']) try: logging.info("Trying to connect to %s", serial_port) ARDUINO_PYRO.connect(tty=serial_port, speed=speed) return HttpResponseRedirect(reverse('home')) except Exception, e: try: ARDUINO_PYRO.close() except: pass logging.error("Couldn't connect. " + "".join(Pyro4.util.getPyroTraceback())) messages.add_message(request, messages.ERROR, "Couldn't connect: {0}".format(str(e))) return HttpResponseRedirect(reverse('connect'))
def home(request): if not server_is_up(): return HttpResponseRedirect(reverse('connect')) if not ARDUINO_PYRO.is_connected(): return HttpResponseRedirect(reverse('connect')) try: ARDUINO_PYRO.validateConnection() except Exception, e: # FIXME: DESIGN: error hablder should be part of PyArduino, not web interface... # if self.validate_connection_error_handler: # self.validate_connection_error_handler() ARDUINO_PYRO.close() messages.add_message(request, messages.ERROR, str(e)) return HttpResponseRedirect(reverse('connect'))
def home(request): if not server_is_up(): return HttpResponseRedirect(reverse('connect')) if not ARDUINO_PYRO.is_connected(): return HttpResponseRedirect(reverse('connect')) try: ARDUINO_PYRO.validateConnection() except Exception, e: # FIXME: DESIGN: error hablder should be part of PyArduino, not web interface... # if self.validate_connection_error_handler: # self.validate_connection_error_handler() ARDUINO_PYRO.close() messages.add_message(request, messages.ERROR, str(e)) return HttpResponseRedirect(reverse('connect'))
def connect(request): if request.method == 'GET': if server_is_up(): return render(request, 'web-ui-connect.html', { 'serial_ports': ARDUINO_PYRO.get_serial_ports(), }) else: return render(request, 'web-ui-connect.html', { 'show_start_pyroproxy_server_msg': True, }) if ARDUINO_PYRO.is_connected(): raise (Exception("PyArduino is already connected")) if 'connect_emulator' in request.REQUEST: serial_port = DEVICE_FOR_EMULATOR speed = None else: serial_port = request.REQUEST['serial_port'] speed = int(request.REQUEST['speed']) try: logging.info("Trying to connect to %s", serial_port) ARDUINO_PYRO.connect(tty=serial_port, speed=speed) return HttpResponseRedirect(reverse('home')) except Exception, e: try: ARDUINO_PYRO.close() except: pass logging.error("Couldn't connect. " + "".join(Pyro4.util.getPyroTraceback())) messages.add_message(request, messages.ERROR, "Couldn't connect: {0}".format(str(e))) return HttpResponseRedirect(reverse('connect'))