[Assorted-commits] SF.net SVN: assorted:[1567] sandbox/trunk/src/py
Brought to you by:
yangzhang
From: <yan...@us...> - 2010-02-13 01:34:17
|
Revision: 1567 http://assorted.svn.sourceforge.net/assorted/?rev=1567&view=rev Author: yangzhang Date: 2010-02-13 01:34:07 +0000 (Sat, 13 Feb 2010) Log Message: ----------- added simple spammodule extension from tutorial Added Paths: ----------- sandbox/trunk/src/py/ext-tut/ sandbox/trunk/src/py/ext-tut/setup.py sandbox/trunk/src/py/ext-tut/spammodule.c Added: sandbox/trunk/src/py/ext-tut/setup.py =================================================================== --- sandbox/trunk/src/py/ext-tut/setup.py (rev 0) +++ sandbox/trunk/src/py/ext-tut/setup.py 2010-02-13 01:34:07 UTC (rev 1567) @@ -0,0 +1,9 @@ +from distutils.core import setup, Extension + +module1 = Extension('spammodule', + sources = ['spammodule.c']) + +setup (name = 'SpamModule', + version = '1.0', + description = 'This is a demo package', + ext_modules = [module1]) Added: sandbox/trunk/src/py/ext-tut/spammodule.c =================================================================== --- sandbox/trunk/src/py/ext-tut/spammodule.c (rev 0) +++ sandbox/trunk/src/py/ext-tut/spammodule.c 2010-02-13 01:34:07 UTC (rev 1567) @@ -0,0 +1,24 @@ +#include <Python.h> +static PyObject * +spam_system(PyObject *self, PyObject *args) +{ + const char *command; + int sts; + + if (!PyArg_ParseTuple(args, "s", &command)) + return NULL; + sts = system(command); + return Py_BuildValue("i", sts); +} + +static PyMethodDef SpamMethods[] = { + {"system", spam_system, METH_VARARGS, + "Execute a shell command."}, + {NULL, NULL, 0, NULL} /* Sentinel */ +}; + +PyMODINIT_FUNC +initspam(void) +{ + (void) Py_InitModule("spam", SpamMethods); +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |