Py_RETURN_NONE;
}
+static PyObject *obj_set_parameter(py_SMBConf_Object * self, PyObject * args)
+{
+ sbcErr err;
+ char *servicename = NULL;
+ char *param = NULL;
+ char *val = NULL;
+
+ if (!PyArg_ParseTuple(args, "sss", &servicename, ¶m, &val)) {
+ return NULL;
+ }
+
+ err = smbconf_set_parameter(self->conf_ctx, servicename, param, val);
+ if (err != SBC_ERR_OK) {
+ py_raise_SMBConfError(err);
+ return NULL;
+ }
+ Py_RETURN_NONE;
+}
+
PyDoc_STRVAR(obj_requires_messaging_doc,
"requires_messaging() -> bool\n"
"\n"
"drop() -> None\n"
"Drop the entire configuration, resetting it to an empty state.\n");
+PyDoc_STRVAR(obj_set_parameter_doc,
+"set_parameter(str, str, str) -> None\n"
+"Set a configuration parmeter. Specify service name, parameter name,\n"
+"and parameter value.\n");
+
static PyMethodDef py_smbconf_obj_methods[] = {
{ "requires_messaging", (PyCFunction) obj_requires_messaging,
METH_NOARGS, obj_requires_messaging_doc },
obj_create_share_doc },
{ "drop", (PyCFunction) obj_drop, METH_NOARGS,
obj_drop_doc },
+ { "set_parameter", (PyCFunction) obj_set_parameter, METH_VARARGS,
+ obj_set_parameter_doc },
{ 0 },
};
names = sconf.share_names()
self.assertEqual(names, [])
+ def test_set_parameter(self):
+ sconf = self.s3smbconf.init_reg(None)
+ sconf.drop()
+ sconf.create_share("foobar")
+ sconf.set_parameter("foobar", "path", "/mnt/foobar")
+ sconf.set_parameter("foobar", "browseable", "no")
+
+ s1 = sconf.get_share("foobar")
+ self.assertEqual(
+ s1, ("foobar", [("path", "/mnt/foobar"), ("browseable", "no")])
+ )
+
if __name__ == "__main__":
import unittest