Exemple #1
0
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()