def StartServer(port, ar=False, host='0.0.0.0', fork=False, quiet=False, vdbn='', tls=False): global Simulator from OMCE import Simulator from OMCE import __version__ as OMCEversion if quiet: console=None else: DefConText.PRINT(__MODIDstr__ % OMCEversion,VL_Startup) DefConText.PRINT(__AUTHOR__,VL_Startup) console = sys.stderr at=None if (vdbn!='') or tls: if vdbn=='': UL={tls[0]:tls[1]} DefConText.NOISE('Using simple TLS with user "'+UL.keys()[0]+'" and password "'+UL[UL.keys()[0]]+'"') at = OMCEAuthenticator.from_dict(UL) else: DefConText.NOISE('Using VDB ('+vdbn+')') at = OMCEAuthenticator.from_file(vdbn,'r') at.bypass_known_ip=True DefConText.NOISE(DefConText.MSG(104)) logger=OMCElogger(OMCEService.ALIASES[0],show_tid = True,console = console,file=DefConText.logfile) DefConText.logfile=None if fork: OMCEService.Server = OMCEForkingServer(OMCEService, port = port, auto_register = ar, hostname=host, logger = logger, authenticator = at) else: OMCEService.Server = OMCEThreadedServer(OMCEService, port = port, auto_register = ar, hostname=host, logger = logger, authenticator = at) if DefConText.VerboseLevel>VL_Details: logger.filter=set(["TRACEBACK"]) if DefConText.VerboseLevel>VL_Info: logger.filter=set(["TRACEBACK","INFO"]) if DefConText.VerboseLevel>VL_Warn: logger.filter=set(["TRACEBACK","INFO","WARNING"]) OMCEService.Fork=fork try: OMCEService.Server.start() finally: DefConText.logfile=logger.file logger.file=None return