This repository has been archived by the owner. It is now read-only.
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
  • Loading branch information...
R. Tyler Ballance
R. Tyler Ballance committed Jun 28, 2009
1 parent a97aa33 commit db028c1144a376fdbda171b3f93a996d13c3726b
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 db028c1

Please sign in to comment.