Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWillian Padovani Germano <wpgermano@gmail.com>2004-06-10 19:14:49 +0400
committerWillian Padovani Germano <wpgermano@gmail.com>2004-06-10 19:14:49 +0400
commita23c6a71da4feea2e036928d260630cb26854ab1 (patch)
tree21d3f9037043436de8b8d00d2d3ec561d69f4c7c /source/blender/python/api2_2x/Sys.c
parenta6d077bae243eef5f8826b2c7b27bd297428d7d4 (diff)
- small updates to scripts and bpython docs, also fixed two warnings;
- added function Blender.sys.exists(path) to check if a given file exists; - forgot to mention: in my previous commit the blender.html file was also updated slightly.
Diffstat (limited to 'source/blender/python/api2_2x/Sys.c')
-rw-r--r--source/blender/python/api2_2x/Sys.c80
1 files changed, 76 insertions, 4 deletions
diff --git a/source/blender/python/api2_2x/Sys.c b/source/blender/python/api2_2x/Sys.c
index 56f3a64d489..81488c2c676 100644
--- a/source/blender/python/api2_2x/Sys.c
+++ b/source/blender/python/api2_2x/Sys.c
@@ -29,10 +29,67 @@
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
-#include "BKE_utildefines.h"
-#include "PIL_time.h"
-
-#include "Sys.h"
+#include <BKE_utildefines.h>
+#include <BLI_blenlib.h>
+#include <PIL_time.h>
+#include <Python.h>
+#include "gen_utils.h"
+#include "modules.h"
+
+/*****************************************************************************/
+/* Python API function prototypes for the sys module. */
+/*****************************************************************************/
+static PyObject *M_sys_basename (PyObject *self, PyObject *args);
+static PyObject *M_sys_dirname (PyObject *self, PyObject *args);
+static PyObject *M_sys_splitext (PyObject *self, PyObject *args);
+static PyObject *M_sys_exists (PyObject *self, PyObject *args);
+static PyObject *M_sys_time (PyObject *self);
+
+/*****************************************************************************/
+/* The following string definitions are used for documentation strings. */
+/* In Python these will be written to the console when doing a */
+/* Blender.sys.__doc__ */
+/*****************************************************************************/
+static char M_sys_doc[] =
+"The Blender.sys submodule\n\
+\n\
+This is a minimal system module to supply simple functionality available\n\
+in the default Python module os.";
+
+static char M_sys_basename_doc[] =
+"(path) - Split 'path' in dir and filename.\n\
+Return the filename.";
+
+static char M_sys_dirname_doc[] =
+"(path) - Split 'path' in dir and filename.\n\
+Return the dir.";
+
+static char M_sys_splitext_doc[] =
+"(path) - Split 'path' in root and extension:\n\
+/this/that/file.ext -> ('/this/that/file','.ext').\n\
+Return the pair (root, extension).";
+
+static char M_sys_time_doc[] =
+"() - Return a float representing time elapsed in seconds.\n\
+Each successive call is garanteed to return values greater than or\n\
+equal to the previous call.";
+
+static char M_sys_exists_doc[] =
+"(path) - Return 1 if given pathname (file or dir) exists, 0 otherwise.";
+
+/*****************************************************************************/
+/* Python method structure definition for Blender.sys module: */
+/*****************************************************************************/
+struct PyMethodDef M_sys_methods[] = {
+ {"basename", M_sys_basename, METH_VARARGS, M_sys_basename_doc},
+ {"dirname", M_sys_dirname, METH_VARARGS, M_sys_dirname_doc},
+ {"splitext", M_sys_splitext, METH_VARARGS, M_sys_splitext_doc},
+ {"exists", M_sys_exists, METH_VARARGS, M_sys_exists_doc},
+ {"time", (PyCFunction)M_sys_time, METH_NOARGS, M_sys_time_doc},
+ {NULL, NULL, 0, NULL}
+};
+
+/* Module Functions */
static PyObject *g_sysmodule = NULL; /* pointer to Blender.sys module */
@@ -176,3 +233,18 @@ static PyObject *M_sys_time (PyObject *self)
return Py_BuildValue("d", t);
}
+static PyObject *M_sys_exists (PyObject *self, PyObject *args)
+{
+ char *fname = NULL;
+ int i = 0;
+
+ if (!PyArg_ParseTuple(args, "s", &fname))
+ return EXPP_ReturnPyObjError (PyExc_TypeError,
+ "expected string (file path) argument");
+
+ i = BLI_exists(fname);
+
+ if (i) return Py_BuildValue("i", 1); /* path was found */
+
+ return Py_BuildValue("i", 0); /* path doesn't exist */
+}