diff --git a/src/python/recoll/pyrecoll.cpp b/src/python/recoll/pyrecoll.cpp index 9676b808..e85b6bf3 100644 --- a/src/python/recoll/pyrecoll.cpp +++ b/src/python/recoll/pyrecoll.cpp @@ -763,7 +763,7 @@ Query_init(recoll_QueryObject *self, PyObject *, PyObject *) } PyDoc_STRVAR(doc_Query_sortby, -"sortby(field=fieldname, ascending=true)\n" +"sortby(field=fieldname, ascending=True)\n" "Sort results by 'fieldname', in ascending or descending order.\n" "Only one field can be used, no subsorts for now.\n" "Must be called before executing the search\n" @@ -775,16 +775,17 @@ Query_sortby(recoll_QueryObject* self, PyObject *args, PyObject *kwargs) LOGDEB(("Query_sortby\n")); static const char *kwlist[] = {"field", "ascending", NULL}; PyObject *ascobj = 0; - if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s|i", (char**)kwlist, + if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s|O", (char**)kwlist, &self->sortfield, &ascobj)) return 0; - if (ascobj != 0 && !PyObject_IsTrue(ascobj)) - self->ascending = false; - else + if (ascobj == 0) { self->ascending = true; - + } else { + self->ascending = PyObject_IsTrue(ascobj); + } + Py_RETURN_NONE; } diff --git a/src/python/samples/recollq.py b/src/python/samples/recollq.py index 67008d29..dd1c82e4 100755 --- a/src/python/samples/recollq.py +++ b/src/python/samples/recollq.py @@ -45,6 +45,8 @@ def extractofile(doc, outfilename=""): def doquery(db, q): # Get query object query = db.query() + query.sortby("dmtime", ascending=True) + # Parse/run input query string nres = query.execute(q, stemming = 0, stemlang="english") qs = u"Xapian query: [%s]" % query.getxquery()