def __init__(self, task_runner, logger=None): # Logging self.logger = _Logger(logger) # Task Runner self.task_runner = task_runner # HTTP Server self._https = httpserver.HTTPServer(self, task_runner, logger=self.logger) # SSDP Client self._ssdpc = ssdpclient.SSDPClient(task_runner, logger=self.logger) self._ssdpc.set_add_handler(self._handle_ssdpc_add_device) self._ssdpc.set_remove_handler(self._handle_ssdpc_remove_device) # Non-blocking HTTP Client self._asynch_httpc = httpclient.AsynchHTTPClient(task_runner) # Blocking HTTP Client self.synch_httpc = httpclient.SynchHTTPClient(self._asynch_httpc) # Pending Non-blocking HTTP Requests self._pending = {} # rid: uuid # UPnPDevice Specifications self._device_map = {} # uuid:{} # Service Stubs (cache) self._stub_cache = ServiceStubCache() # Startup by TaskRunner self.task_runner.add_task(self.startup)
def start(): packet_queue = Queue() relay_queue = Queue() server_thread = server.Server(packet_queue) http_thread = httpserver.HTTPServer(packet_queue) http_thread.start() server_thread.start() connect_device('/dev/ttyACM1', 9600, packet_queue, server_thread.broadcast, relay_queue, False) connect_device('/dev/ttyACM0', 115200, packet_queue, server_thread.broadcast, relay_queue, True) while threading.active_count() > 0: pass
def start(self): self.logger = logging.getLogger(Constants.LOGNAME) self.logger.setLevel(logging.INFO) handler = logging.handlers.TimedRotatingFileHandler( filename="sprinkler.log", when="D") handler.setFormatter(logging.Formatter("%(asctime)s-%(message)s")) self.logger.addHandler(handler) self.logger.info("####Sprinkler started####") self.controller = controller.Controller() self.controller.readStatus() timerfilename = self.getTimerFileName() self.timers = timerh.TimerHandler(self._timercb, self.controller) if os.path.exists(timerfilename): self.logger.info("reading timers from %s" % (timerfilename)) self.timers.readFromJson(open(timerfilename).read()) self.logger.info(pprint.pformat(self.timers.info())) self.httpServer = httpserver.HTTPServer(httpserver.HTTPHandler, self)
def start(port, root_directory="/tmp/s3", bucket_depth=0): """Starts the mock S3 server on the given port at the given path.""" application = S3Application(root_directory, bucket_depth) http_server = httpserver.HTTPServer(application) http_server.listen(port) ioloop.IOLoop.instance().start()