Permalink
Browse files

Revert "Implement valorDefault in C"

This reverts commit e570b82.

Backing this out to bring back my previous work with the
Unspecified module

Conflicts:

	src/Template.py

Signed-off-by: James Abbatiello <abbeyj@gmail.com>
  • Loading branch information...
1 parent 40f1cc2 commit bc455c8979b01fe394196c4fc783a3be63f9f1db R. Tyler Ballance committed with abbeyj Jun 28, 2009
Showing with 11 additions and 5 deletions.
  1. +11 −5 src/c/_template.c
View
@@ -9,18 +9,18 @@
extern "C" {
#endif
+static PyObject *unspecifiedModule = NULL;
+static PyObject *unspecified = NULL;
+
static PyObject *py_valordefault(PyObject *self, PyObject *args, PyObject *kwargs)
{
- PyObject *value, *def;
+ PyObject *value, *def, *res;
if (!PyArg_ParseTuple(args, "OO", &value, &def))
return NULL;
- if (value == Py_None) {
- Py_XINCREF(def);
+ if (value == unspecified)
return def;
- }
- Py_XINCREF(value);
return value;
}
@@ -36,6 +36,12 @@ PyMODINIT_FUNC init_template()
{
PyObject *module = Py_InitModule3("_template", _template_methods,
_template_doc);
+ unspecifiedModule = PyImport_ImportModule("Cheetah.Unspecified");
+ if ( (PyErr_Occurred()) || (!unspecifiedModule) )
+ return NULL;
+ unspecified = PyObject_GetAttrString(unspecifiedModule, "Unspecified");
+ if (PyErr_Occurred())
+ return NULL;
}
#ifdef __cplusplus

0 comments on commit bc455c8

Please sign in to comment.