def run(self): self._logger.info("FabScanPi-Server " + str(__version__)) try: # inject "static" classed injector.provide(FSEventManagerInterface, FSEventManagerSingleton) injector.provide_instance(FSWebSocketServerInterface, FSWebSocketServer()) injector.provide_instance(ConfigInterface, Config(self.config_file, True)) injector.provide_instance(SettingsInterface, Settings(self.settings_file, True)) # inject "dynamic" classes self.config = injector.get_instance(ConfigInterface) FSScannerFactory.injectScannerType(self.config.scanner_type) # start server services websocket_server = injector.get_instance( FSWebSocketServerInterface) websocket_server.start() webserver = FSWebServer() webserver.start() FSScanner().start() FSEventManagerSingleton().instance.subscribe( FSEvents.COMMAND, self.on_server_command) while not self.exit: try: time.sleep(0.3) except KeyboardInterrupt: raise if self.upgrade: self._logger.info("Upgrading FabScanPi Server") self.update_server() self.restart = True if self.restart: self._logger.info("Restarting FabScanPi Server") self.restart_server() self.exit = True self._logger.info("FabScan Server Exit. Bye!") os._exit(1) except (KeyboardInterrupt, SystemExit): sys.exit(0)
def create(): # "dynamic" module classes ... injector.provide(ImageProcessorInterface, ImageProcessor) injector.provide(FSHardwareControllerInterface, FSHardwareControllerSingleton) injector.provide(FSCalibrationInterface, FSCalibration) injector.provide(FSScanProcessorInterface, FSScanProcessorSingleton)
def create(): # "dynamic" module classes ... injector.provide(ImageProcessorInterface, ImageProcessor) injector.provide(FSHardwareControllerInterface, FSHardwareControllerSingleton) injector.provide(FSCalibrationInterface, FSCalibration) injector.provide(FSScanProcessorInterface, FSScanProcessor)
def run(self): self._logger.info("FabScanPi-Server "+str(__version__)) try: # inject "static" classed injector.provide(FSEventManagerInterface, FSEventManagerSingleton) injector.provide_instance(FSWebSocketServerInterface, FSWebSocketServer()) injector.provide_instance(ConfigInterface, Config(self.config_file, True)) injector.provide_instance(SettingsInterface, Settings(self.settings_file, True)) # inject "dynamic" classes self.config = injector.get_instance(ConfigInterface) FSScannerFactory.injectScannerType(self.config.scanner_type) # start server services websocket_server = injector.get_instance(FSWebSocketServerInterface) websocket_server.start() webserver = FSWebServer() webserver.start() FSScanner().start() FSEventManagerSingleton().instance.subscribe(FSEvents.COMMAND, self.on_server_command) while not self.exit: try: time.sleep(0.3) except KeyboardInterrupt: raise if self.upgrade: self._logger.info("Upgrading FabScanPi Server") self.update_server() self.restart = True if self.restart: self._logger.info("Restarting FabScanPi Server") self.restart_server() self.exit = True self._logger.info("FabScan Server Exit. Bye!") os._exit(1) except (KeyboardInterrupt, SystemExit): sys.exit(0)