def _run(self): # exec in a secure environment the coderbot coderbot = CoderBot() glbs = { '__name__': self._name, 'program': self, 'config': Config(), 'coderbot': coderbot } if Config().get('program_video_rec', False): coderbot.camera.start_recording() try: exec(self._code, glbs) except: raise finally: coderbot.camera.stop_recording() coderbot.motors.stop() for sensor in coderbot.sensors.itervalues(): try: sensor._stop() except AttributeError: pass self._running = False self._shutdown = False
def run_server(prog=None): app.shutdown_requested = False Config().load(DEFAULT_CONFIG_PATH) app.bot = CoderBot() app.bot.camera.setDCIMpath(Config().get('record_path', RECORD_PATH)) # TODO : Launch the Config().get('program_launch_at_start', None) program if prog is not None: prog() try: app.run(host='0.0.0.0', port=Config().get('listen_port', 8080), use_reloader=False, threaded=True) except: raise finally: app.shutdown_requested = True app.bot.shutdown()
from coderbot import CoderBot import sys DISTANCE = float(sys.argv[1]) c = CoderBot() c.move(speed=70, distance=DISTANCE)