Whamcloud - gitweb
Add sample python bindings for the uuid library
authorTheodore Ts'o <tytso@mit.edu>
Thu, 3 Jan 2008 20:39:19 +0000 (15:39 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Thu, 3 Jan 2008 20:39:19 +0000 (15:39 -0500)
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>
contrib/python-uuid/setup.py [new file with mode: 0755]
contrib/python-uuid/test.py [new file with mode: 0755]
contrib/python-uuid/uuid.c [new file with mode: 0644]

diff --git a/contrib/python-uuid/setup.py b/contrib/python-uuid/setup.py
new file mode 100755 (executable)
index 0000000..3934d17
--- /dev/null
@@ -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])
diff --git a/contrib/python-uuid/test.py b/contrib/python-uuid/test.py
new file mode 100755 (executable)
index 0000000..2264f62
--- /dev/null
@@ -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"
diff --git a/contrib/python-uuid/uuid.c b/contrib/python-uuid/uuid.c
new file mode 100644 (file)
index 0000000..34dd56a
--- /dev/null
@@ -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);
+}