(cmdPipe, param)
| 279 | |
| 280 | |
| 281 | def Run(cmdPipe, param): |
| 282 | if not __name__ == '__main__': |
| 283 | signal.signal(signal.SIGINT, signal.SIG_IGN) |
| 284 | |
| 285 | dinit(__name__, param) # init logging, WebServer process |
| 286 | |
| 287 | cfg_IP_WebServer = param['IP_self'] |
| 288 | cfg_Port_WebServer = param['CSettings'].getSetting('port_webserver') |
| 289 | try: |
| 290 | server = ThreadedHTTPServer((cfg_IP_WebServer,int(cfg_Port_WebServer)), MyHandler) |
| 291 | server.timeout = 1 |
| 292 | except Exception, e: |
| 293 | dprint(__name__, 0, "Failed to connect to HTTP on {0} port {1}: {2}", cfg_IP_WebServer, cfg_Port_WebServer, e) |
| 294 | sys.exit(1) |
| 295 | |
| 296 | socketinfo = server.socket.getsockname() |
| 297 | |
| 298 | dprint(__name__, 0, "***") |
| 299 | dprint(__name__, 0, "WebServer: Serving HTTP on {0} port {1}.", socketinfo[0], socketinfo[1]) |
| 300 | dprint(__name__, 0, "***") |
| 301 | |
| 302 | setParams(param) |
| 303 | XMLConverter.setParams(param) |
| 304 | XMLConverter.setATVSettings(param['CATVSettings']) |
| 305 | |
| 306 | try: |
| 307 | while True: |
| 308 | # check command |
| 309 | if cmdPipe.poll(): |
| 310 | cmd = cmdPipe.recv() |
| 311 | if cmd=='shutdown': |
| 312 | break |
| 313 | |
| 314 | # do your work (with timeout) |
| 315 | server.handle_request() |
| 316 | |
| 317 | except KeyboardInterrupt: |
| 318 | signal.signal(signal.SIGINT, signal.SIG_IGN) # we heard you! |
| 319 | dprint(__name__, 0,"^C received.") |
| 320 | finally: |
| 321 | dprint(__name__, 0, "Shutting down (HTTP).") |
| 322 | server.socket.close() |
| 323 | |
| 324 | |
| 325 |
no test coverage detected