[Libguestfs] [PATCH] python: use constants instead of raw values
Richard W.M. Jones
rjones at redhat.com
Thu May 5 21:00:24 UTC 2016
On Thu, May 05, 2016 at 04:09:35PM +0200, Pino Toscano wrote:
> Extend the internal libguestfsmod module with the CREATE values, so
> there is no need to hardcode values in GuestFS.__init__.
> ---
> generator/python.ml | 7 +++++--
> python/guestfs-py-byhand.c | 7 +++++++
> python/guestfs-py.h | 2 ++
> 3 files changed, 14 insertions(+), 2 deletions(-)
>
> diff --git a/generator/python.ml b/generator/python.ml
> index 9744b8f..470abe7 100644
> --- a/generator/python.ml
> +++ b/generator/python.ml
> @@ -597,6 +597,9 @@ moduleinit (void)
> m = Py_InitModule ((char *) \"libguestfsmod\", methods);
> #endif
>
> + if (m != NULL)
> + guestfs_int_py_extend_module (m);
> +
> return m; /* m might be NULL if module init failed */
> }
>
> @@ -719,9 +722,9 @@ class GuestFS(object):
> \"\"\"
> flags = 0
> if not environment:
> - flags |= 1
> + flags |= libguestfsmod.GUESTFS_CREATE_NO_ENVIRONMENT
> if not close_on_exit:
> - flags |= 2
> + flags |= libguestfsmod.GUESTFS_CREATE_NO_CLOSE_ON_EXIT
> self._o = libguestfsmod.create(flags)
> self._python_return_dict = python_return_dict
>
> diff --git a/python/guestfs-py-byhand.c b/python/guestfs-py-byhand.c
> index cf8576f..9e2debf 100644
> --- a/python/guestfs-py-byhand.c
> +++ b/python/guestfs-py-byhand.c
> @@ -37,6 +37,13 @@
>
> static PyObject **get_all_event_callbacks (guestfs_h *g, size_t *len_rtn);
>
> +void
> +guestfs_int_py_extend_module (PyObject *module)
> +{
> + PyModule_AddIntMacro(module, GUESTFS_CREATE_NO_ENVIRONMENT);
> + PyModule_AddIntMacro(module, GUESTFS_CREATE_NO_CLOSE_ON_EXIT);
> +}
> +
> PyObject *
> guestfs_int_py_create (PyObject *self, PyObject *args)
> {
> diff --git a/python/guestfs-py.h b/python/guestfs-py.h
> index da5f483..f2246a6 100644
> --- a/python/guestfs-py.h
> +++ b/python/guestfs-py.h
> @@ -59,6 +59,8 @@ put_handle (guestfs_h *g)
> #endif
> }
>
> +extern void guestfs_int_py_extend_module (PyObject *module);
> +
> extern PyObject *guestfs_int_py_create (PyObject *self, PyObject *args);
> extern PyObject *guestfs_int_py_close (PyObject *self, PyObject *args);
> extern PyObject *guestfs_int_py_set_event_callback (PyObject *self, PyObject *args);
> --
ACK.
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-builder quickly builds VMs from scratch
http://libguestfs.org/virt-builder.1.html
More information about the Libguestfs
mailing list