X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=python%2Fguestfs-py.c;h=8c7ad2284d7bcac18e9eb976e8c7f0d93e5f4aff;hb=946eec285f634e51b3ea6416a6d7947427c66797;hp=9d2738c825cf262178a476d7b5faa7367d44754a;hpb=b3f11c5f62f725fa3f09452b38d52dba764f80d0;p=libguestfs.git diff --git a/python/guestfs-py.c b/python/guestfs-py.c index 9d2738c..8c7ad22 100644 --- a/python/guestfs-py.c +++ b/python/guestfs-py.c @@ -1806,6 +1806,89 @@ py_guestfs_lvm_remove_all (PyObject *self, PyObject *args) return py_r; } +static PyObject * +py_guestfs_file (PyObject *self, PyObject *args) +{ + PyObject *py_g; + guestfs_h *g; + PyObject *py_r; + char *r; + const char *path; + + if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_file", + &py_g, &path)) + return NULL; + g = get_handle (py_g); + + r = guestfs_file (g, path); + if (r == NULL) { + PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); + return NULL; + } + + py_r = PyString_FromString (r); + free (r); + return py_r; +} + +static PyObject * +py_guestfs_command (PyObject *self, PyObject *args) +{ + PyObject *py_g; + guestfs_h *g; + PyObject *py_r; + char *r; + PyObject *py_arguments; + const char **arguments; + + if (!PyArg_ParseTuple (args, (char *) "OO:guestfs_command", + &py_g, &py_arguments)) + return NULL; + g = get_handle (py_g); + arguments = get_string_list (py_arguments); + if (!arguments) return NULL; + + r = guestfs_command (g, arguments); + free (arguments); + if (r == NULL) { + PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); + return NULL; + } + + py_r = PyString_FromString (r); + free (r); + return py_r; +} + +static PyObject * +py_guestfs_command_lines (PyObject *self, PyObject *args) +{ + PyObject *py_g; + guestfs_h *g; + PyObject *py_r; + char **r; + PyObject *py_arguments; + const char **arguments; + + if (!PyArg_ParseTuple (args, (char *) "OO:guestfs_command_lines", + &py_g, &py_arguments)) + return NULL; + g = get_handle (py_g); + arguments = get_string_list (py_arguments); + if (!arguments) return NULL; + + r = guestfs_command_lines (g, arguments); + free (arguments); + if (r == NULL) { + PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); + return NULL; + } + + py_r = put_string_list (r); + free_strings (r); + return py_r; +} + static PyMethodDef methods[] = { { (char *) "create", py_guestfs_create, METH_VARARGS, NULL }, { (char *) "close", py_guestfs_close, METH_VARARGS, NULL }, @@ -1869,6 +1952,9 @@ static PyMethodDef methods[] = { { (char *) "mounts", py_guestfs_mounts, METH_VARARGS, NULL }, { (char *) "umount_all", py_guestfs_umount_all, METH_VARARGS, NULL }, { (char *) "lvm_remove_all", py_guestfs_lvm_remove_all, METH_VARARGS, NULL }, + { (char *) "file", py_guestfs_file, METH_VARARGS, NULL }, + { (char *) "command", py_guestfs_command, METH_VARARGS, NULL }, + { (char *) "command_lines", py_guestfs_command_lines, METH_VARARGS, NULL }, { NULL, NULL, 0, NULL } };