Add sample python bindings for the uuid library

Pretty trivial, but maybe useful to someone.

Originially submited by Ondrej Sury <ondrej@sury.org>

Addresses-Sourceforge-Patches: #778817

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
bitmap-optimize
Theodore Ts'o 2008-01-03 15:39:19 -05:00
parent b05d4ab635
commit 1725c0cf53
3 changed files with 52 additions and 0 deletions

11
contrib/python-uuid/setup.py Executable file
View File

@ -0,0 +1,11 @@
#!/usr/bin/python
from distutils.core import setup, Extension
uuid = Extension('e2fsprogs_uuid',
sources = ['uuid.c'],
libraries = ['uuid'])
setup (name = 'e2fsprogs_uuid',
version = '1.0',
description = 'This is python uuid interface',
ext_modules = [uuid])

18
contrib/python-uuid/test.py Executable file
View File

@ -0,0 +1,18 @@
#!/usr/bin/python
import e2fsprogs_uuid
import time
print "Generating uuid...",
try:
time = time.time()
u = e2fsprogs_uuid.generate()
except:
u = "FAIL"
print u, "...", time
print "Calling generate with param...",
try:
e2fsprogs_uuid.generate("param")
print "FAIL."
except:
print "OK"

View File

@ -0,0 +1,23 @@
#include <Python.h>
#include <time.h>
#include <uuid/uuid.h>
static PyObject * _uuid_generate(PyObject *self, PyObject *args)
{
uuid_t u;
char uuid[37];
if (!PyArg_ParseTuple(args, "")) return NULL;
uuid_generate(u);
uuid_unparse(u, uuid);
return Py_BuildValue("s", uuid);
}
static PyMethodDef _uuid_methods[] = {
{"generate", _uuid_generate, METH_VARARGS, "Generate UUID"},
{NULL, NULL, 0, NULL}
};
void inite2fsprogs_uuid(void)
{
(void) Py_InitModule("e2fsprogs_uuid", _uuid_methods);
}