struct irc_client *client;
} PyClientObject;
-static PyObject *py_client_get_default_target(PyClientObject *self)
-{
- return PyString_FromString(client_get_default_target(self->client));
-}
-
-static PyObject *py_client_get_own_hostmask(PyClientObject *self)
-{
- return PyString_FromString(client_get_own_hostmask(self->client));
-}
-
-static PyObject *py_client_get_default_origin(PyClientObject *self)
-{
- return PyString_FromString(self->client->default_origin);
-}
-
static PyObject *py_client_set_charset(PyClientObject *self, PyObject *args)
{
bool ret;
}
static PyMethodDef py_client_methods[] = {
- { "get_default_target", (PyCFunction)py_client_get_default_target,
- METH_NOARGS,
- "Returns the default target name used for this client." },
- { "get_own_hostmask", (PyCFunction)py_client_get_own_hostmask,
- METH_NOARGS,
- "Returns the hostmask of the client." },
- { "get_default_origin", (PyCFunction)py_client_get_default_origin,
- METH_NOARGS,
- "Returns the default origin that is used to send lines to this client." },
{ "set_charset", (PyCFunction)py_client_set_charset,
METH_VARARGS,
"Change the character set."
return (PyObject *)ret;
}
+static PyObject *py_client_get_default_target(PyClientObject *self, void *closure)
+{
+ return PyString_FromString(client_get_default_target(self->client));
+}
+
+static PyObject *py_client_get_own_hostmask(PyClientObject *self, void *closure)
+{
+ const char *hostmask = client_get_own_hostmask(self->client);
+ if (hostmask == NULL)
+ Py_RETURN_NONE;
+ return PyString_FromString(hostmask);
+}
+
+static PyObject *py_client_get_default_origin(PyClientObject *self, void *closure)
+{
+ return PyString_FromString(self->client->default_origin);
+}
+
static PyGetSetDef py_client_getsetters[] = {
{ "state", (getter)py_client_get_state, NULL, "State" },
+ { "default_target", (getter)py_client_get_default_target, NULL, "Default target" },
+ { "own_hostmask", (getter)py_client_get_own_hostmask, NULL, "Own hostmask" },
+ { "default_origin", (getter)py_client_get_default_origin, NULL,
+ "Default origin that is used to send lines to this client." },
{ NULL }
};
return FALSE;
}
- boolret = (obj == Py_True);
+ boolret = (ret == Py_True);
Py_DECREF(ret);
return boolret;
def send_line(self, line):
self._sent_lines.append(line)
+ def is_connected(self):
+ return True
+
class ClientTests(unittest.TestCase):
c = irc.Client(t, "myorigin", "description")
c.send_line(":server NOTICE mynick :bla")
self.assertEquals(1, len(t._sent_lines))
+ self.assertEquals(":server NOTICE mynick :bla", str(t._sent_lines[0]))
+
+ def test_default_target(self):
+ c = irc.Client(DummyTransport(), "myorigin", "description")
+ self.assertEquals("*", c.default_target)
+
+ def test_default_origin(self):
+ c = irc.Client(DummyTransport(), "myorigin", "description")
+ self.assertEquals("myorigin", c.default_origin)
+
+ def test_own_hostmask_not_known(self):
+ c = irc.Client(DummyTransport(), "myorigin", "description")
+ self.assertEquals(None, c.own_hostmask)
for (i = 0; i < 10000; i++) {
char buf[20];
g_snprintf(buf, sizeof(buf), "bar: %d", i);
- fail_unless(transport_send_args(t, "PRIVMSG", "foo", buf, NULL));
+ fail_unless(transport_send_args(t, NULL, "PRIVMSG", "foo", buf, NULL));
}
for (i = 0; i < 10000; i++) {
char *str;