def makeService(config): from twisted.internet import reactor, task multi = service.MultiService() domain = config['domain'] mutils.maybeWarnAboutDomain(reactor, domain) closureLibrary = FilePath(config['closure-library']) mutils.maybeWarnAboutClosureLibrary(reactor, closureLibrary) socketPorts = [] for minervaStrport in config['minerva']: _, _args, _ = strports.parse(minervaStrport, object()) socketPorts.append(_args[0]) doReloading = bool(int(os.environ.get('PYRELOADING', '0'))) fileCache = FileCache(lambda: reactor.seconds(), 0.1 if doReloading else -1) stf, httpSite = demosminerva_site.makeMinervaAndHttp( reactor, fileCache, socketPorts, domain, closureLibrary) httpSite.displayTracebacks = not config["no-tracebacks"] for httpStrport in config['http']: httpServer = strports.service(httpStrport, httpSite) httpServer.setServiceParent(multi) for minervaStrport in config['minerva']: minervaServer = strports.service(minervaStrport, stf) minervaServer.setServiceParent(multi) if doReloading: mutils.enablePyquitter(reactor) return multi
def makeService(config): from twisted.internet import reactor multi = service.MultiService() domain = config['domain'] mutils.maybeWarnAboutDomain(reactor, domain) closureLibrary = FilePath(config['closure-library']) mutils.maybeWarnAboutClosureLibrary(reactor, closureLibrary) socketPorts = [] for minervaStrport in config['minerva']: _, _args, _ = strports.parse(minervaStrport, object()) socketPorts.append(_args[0]) fileCache = FileCache(lambda: reactor.seconds(), -1) stf, httpSite = site.setupMinerva( reactor, fileCache, socketPorts, domain, closureLibrary ) httpSite.displayTracebacks = not config["no-tracebacks"] for httpStrport in config['http']: httpServer = strports.service(httpStrport, httpSite) httpServer.setServiceParent(multi) for minervaStrport in config['minerva']: minervaServer = strports.service(minervaStrport, stf) minervaServer.setServiceParent(multi) return multi