Пример #1
0
    def __init__(self, identity, host, port=6667, ssl=False, plugins=None):
        self._isupport = ISupportPlugin()
        plugins = plugins or []
        plugins.append(self._isupport)

        ProtocolClient.__init__(self, identity, host, port, ssl, plugins)

        self.message_min_delay = 1.5

        self._ready = False
        self._channels = dict()

        signals.on_registered.connect(self.on_ready, sender=self)
Пример #2
0
    def __init__(self, identity, host, port=6667, ssl=False, plugins=None):
        self._isupport = ISupportPlugin()
        plugins = plugins or []
        plugins.append(self._isupport)

        ProtocolClient.__init__(self, identity, host, port, ssl, plugins)

        self.message_min_delay = 1.5

        self._ready = False
        self._channels = dict()

        signals.on_registered.connect(self.on_ready, sender=self)
Пример #3
0
def test_unicode_privmsg():
    """
    Ensure the client can send unicode and also receives unicode.
    """
    TEST_STRING = u'± äöü @ o ↑↑↓↓←→←→BA コナミコマンド'

    client1 = ProtocolClient(
        unique_identity(), 'localhost', plugins=[
            HandshakePlugin,
            LogPlugin(),
            ProtocolPlugin()
        ]
    )

    client2 = ProtocolClient(
        unique_identity(), 'localhost', plugins=[
            HandshakePlugin,
            LogPlugin(),
            ProtocolPlugin()
        ]
    )

    class Container(object):
        pass
    got_message = Container()
    got_message.value = False

    def on_376(client, prefix, target, args):
        client.join_channel('#test')

    def on_join(client, prefix, target, args):
        client.privmsg('#test', TEST_STRING)

    def on_privmsg(client, prefix, target, args):
        got_message.value = (args[0] == TEST_STRING)
        client1.terminate()
        client2.terminate()

    signals.m.on_376.connect(on_376, sender=client1)
    signals.m.on_376.connect(on_376, sender=client2)
    signals.m.on_JOIN.connect(on_join, sender=client1)
    signals.m.on_PRIVMSG.connect(on_privmsg, sender=client2)

    assert(client1.connect().get() is True)
    assert(client2.connect().get() is True)

    client1._io_workers.join(timeout=5)
    client2._io_workers.join(timeout=5)

    assert(got_message.value)
Пример #4
0
def get_two_joined_clients(channel=None, protocol_factory=_default_plugins):
    if channel is None:
        channel = unique_channel()

    client1 = ProtocolClient(
        unique_identity(), 'localhost', plugins=protocol_factory()
    )

    client2 = ProtocolClient(
        unique_identity(), 'localhost', plugins=protocol_factory()
    )

    client1._test_joined = Event()
    client2._test_joined = Event()

    def on_376(client, prefix, target, args):
        client.join_channel(channel)

    def on_join(client, prefix, target, args):
        if target == channel and client.identity.nick == prefix[0]:
            client._test_joined.set()

    signals.m.on_376.connect(on_376, sender=client1)
    signals.m.on_376.connect(on_376, sender=client2)
    signals.m.on_JOIN.connect(on_join, sender=client1)
    signals.m.on_JOIN.connect(on_join, sender=client2)

    assert(client1.connect().get() is True)
    assert(client2.connect().get() is True)

    assert client1._test_joined.wait(timeout=5)
    assert client2._test_joined.wait(timeout=5)

    return client1, client2