def main(): log.startLogging(sys.stderr, setStdout=False) parser = argparse.ArgumentParser( description=sys.modules[__name__].__doc__) parser.add_argument( 'settings_path', metavar='SETTINGS_PATH', nargs='?', help='path to Omnipresence settings file') args = parser.parse_args() factory = ConnectionFactory() if args.settings_path: with open(args.settings_path) as settings_file: factory.settings = ConnectionSettings(yaml.load(settings_file)) protocol = factory.buildProtocol(('127.0.0.1', 6667)) transport = StringTransport() # Total hack. Should add formatting support sometime. transport.io = sys.stdout protocol.makeConnection(transport) for line in PROLOGUE: protocol.lineReceived(line.format(protocol.nickname)) reactor.callInThread(interact, protocol) reactor.run()