--- a/src/python/recoll/pyrecoll.cpp
+++ b/src/python/recoll/pyrecoll.cpp
@@ -63,7 +63,8 @@
static void
SearchData_dealloc(recoll_SearchDataObject *self)
{
- LOGDEB("SearchData_dealloc. Releasing. Count before: " << (self->sd.use_count()) << "\n" );
+ LOGDEB("SearchData_dealloc. Releasing. Count before: " <<
+ self->sd.use_count() << "\n");
self->sd.reset();
Py_TYPE(self)->tp_free((PyObject*)self);
}
@@ -71,7 +72,7 @@
static PyObject *
SearchData_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
{
- LOGDEB("SearchData_new\n" );
+ LOGDEB("SearchData_new\n");
recoll_SearchDataObject *self;
self = (recoll_SearchDataObject *)type->tp_alloc(type, 0);
@@ -90,7 +91,7 @@
static int
SearchData_init(recoll_SearchDataObject *self, PyObject *args, PyObject *kwargs)
{
- LOGDEB("SearchData_init\n" );
+ LOGDEB("SearchData_init\n");
static const char* kwlist[] = {"type", "stemlang", NULL};
char *stp = 0;
char *steml = 0;
@@ -180,9 +181,9 @@
SearchData_addclause(recoll_SearchDataObject* self, PyObject *args,
PyObject *kwargs)
{
- LOGDEB0("SearchData_addclause\n" );
+ LOGDEB0("SearchData_addclause\n");
if (!self->sd) {
- LOGERR("SearchData_addclause: not init??\n" );
+ LOGERR("SearchData_addclause: not init??\n");
PyErr_SetString(PyExc_AttributeError, "sd");
return 0;
}
@@ -294,7 +295,7 @@
static void
Doc_dealloc(recoll_DocObject *self)
{
- LOGDEB("Doc_dealloc\n" );
+ LOGDEB("Doc_dealloc\n");
if (self->doc)
the_docs.erase(self->doc);
deleteZ(self->doc);
@@ -304,7 +305,7 @@
static PyObject *
Doc_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
{
- LOGDEB("Doc_new\n" );
+ LOGDEB("Doc_new\n");
recoll_DocObject *self;
self = (recoll_DocObject *)type->tp_alloc(type, 0);
@@ -318,7 +319,7 @@
static int
Doc_init(recoll_DocObject *self, PyObject *, PyObject *)
{
- LOGDEB("Doc_init\n" );
+ LOGDEB("Doc_init\n");
if (self->doc)
the_docs.erase(self->doc);
delete self->doc;
@@ -340,7 +341,7 @@
static PyObject *
Doc_getbinurl(recoll_DocObject *self)
{
- LOGDEB0("Doc_getbinurl\n" );
+ LOGDEB0("Doc_getbinurl\n");
if (self->doc == 0 ||
the_docs.find(self->doc) == the_docs.end()) {
PyErr_SetString(PyExc_AttributeError, "doc");
@@ -359,7 +360,7 @@
static PyObject *
Doc_setbinurl(recoll_DocObject *self, PyObject *value)
{
- LOGDEB0("Doc_setbinurl\n" );
+ LOGDEB0("Doc_setbinurl\n");
if (self->doc == 0 ||
the_docs.find(self->doc) == the_docs.end()) {
PyErr_SetString(PyExc_AttributeError, "doc??");
@@ -381,7 +382,7 @@
static PyObject *
Doc_keys(recoll_DocObject *self)
{
- LOGDEB0("Doc_keys\n" );
+ LOGDEB0("Doc_keys\n");
if (self->doc == 0 ||
the_docs.find(self->doc) == the_docs.end()) {
PyErr_SetString(PyExc_AttributeError, "doc");
@@ -406,7 +407,7 @@
static PyObject *
Doc_items(recoll_DocObject *self)
{
- LOGDEB0("Doc_items\n" );
+ LOGDEB0("Doc_items\n");
if (self->doc == 0 ||
the_docs.find(self->doc) == the_docs.end()) {
PyErr_SetString(PyExc_AttributeError, "doc");
@@ -516,7 +517,7 @@
static PyObject *
Doc_get(recoll_DocObject *self, PyObject *args)
{
- LOGDEB1("Doc_get\n" );
+ LOGDEB1("Doc_get\n");
if (self->doc == 0 || the_docs.find(self->doc) == the_docs.end()) {
PyErr_SetString(PyExc_AttributeError, "doc??");
return 0;
@@ -567,7 +568,7 @@
if (PyUnicode_Check(nameobj)) {
PyObject* utf8o = PyUnicode_AsUTF8String(nameobj);
if (utf8o == 0) {
- LOGERR("Doc_getattro: encoding name to utf8 failed\n" );
+ LOGERR("Doc_getattro: encoding name to utf8 failed\n");
PyErr_SetString(PyExc_AttributeError, "name??");
Py_RETURN_NONE;
}
@@ -583,7 +584,7 @@
string key = rclconfig->fieldQCanon(string(name));
string value;
if (idocget(self, key, value)) {
- LOGDEB1("Doc_getattro: [" << key << "] -> [" << value << "]\n");
+ LOGDEB1("Doc_getattro: [" << key << "] -> [" << value << "]\n");
// Return a python unicode object
return PyUnicode_Decode(value.c_str(), value.size(), "utf-8","replace");
}
@@ -621,7 +622,7 @@
PyObject* putf8 = PyUnicode_AsUTF8String(value);
if (putf8 == 0) {
- LOGERR("Doc_setmeta: encoding to utf8 failed\n" );
+ LOGERR("Doc_setmeta: encoding to utf8 failed\n");
PyErr_SetString(PyExc_AttributeError, "value??");
return -1;
}
@@ -709,7 +710,7 @@
if (PyUnicode_Check(key)) {
PyObject* utf8o = PyUnicode_AsUTF8String(key);
if (utf8o == 0) {
- LOGERR("Doc_getitemo: encoding name to utf8 failed\n" );
+ LOGERR("Doc_getitemo: encoding name to utf8 failed\n");
PyErr_SetString(PyExc_AttributeError, "name??");
Py_RETURN_NONE;
}
@@ -830,6 +831,7 @@
int ascending;
int arraysize; // Default size for fetchmany
recoll_DbObject* connection;
+ bool fetchtext;
} recoll_QueryObject;
PyDoc_STRVAR(doc_Query_close,
@@ -838,7 +840,7 @@
static PyObject *
Query_close(recoll_QueryObject *self)
{
- LOGDEB("Query_close\n" );
+ LOGDEB("Query_close\n");
if (self->query) {
the_queries.erase(self->query);
deleteZ(self->query);
@@ -854,7 +856,7 @@
static void
Query_dealloc(recoll_QueryObject *self)
{
- LOGDEB("Query_dealloc\n" );
+ LOGDEB("Query_dealloc\n");
PyObject *ret = Query_close(self);
Py_DECREF(ret);
Py_TYPE(self)->tp_free((PyObject*)self);
@@ -863,7 +865,7 @@
static PyObject *
Query_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
{
- LOGDEB("Query_new\n" );
+ LOGDEB("Query_new\n");
recoll_QueryObject *self;
self = (recoll_QueryObject *)type->tp_alloc(type, 0);
@@ -876,6 +878,7 @@
self->ascending = 1;
self->arraysize = 1;
self->connection = 0;
+ self->fetchtext = false;
return (PyObject *)self;
}
@@ -885,7 +888,7 @@
static int
Query_init(recoll_QueryObject *self, PyObject *, PyObject *)
{
- LOGDEB("Query_init\n" );
+ LOGDEB("Query_init\n");
if (self->query)
the_queries.erase(self->query);
@@ -913,7 +916,7 @@
static PyObject *
Query_sortby(recoll_QueryObject* self, PyObject *args, PyObject *kwargs)
{
- LOGDEB0("Query_sortby\n" );
+ LOGDEB0("Query_sortby\n");
static const char *kwlist[] = {"field", "ascending", NULL};
char *sfield = 0;
PyObject *ascobj = 0;
@@ -936,7 +939,8 @@
}
PyDoc_STRVAR(doc_Query_execute,
-"execute(query_string, stemming=1|0, stemlang=\"stemming language\")\n"
+"execute(query_string, stemming=1|0, stemlang=\"stemming language\", "
+ "fetchtext=False)\n"
"\n"
"Starts a search for query_string, a Recoll search language string\n"
"(mostly Xesam-compatible).\n"
@@ -947,20 +951,28 @@
static PyObject *
Query_execute(recoll_QueryObject* self, PyObject *args, PyObject *kwargs)
{
- LOGDEB0("Query_execute\n" );
- static const char *kwlist[] = {"query_string", "stemming", "stemlang", NULL};
+ LOGDEB0("Query_execute\n");
+ static const char *kwlist[] = {"query_string", "stemming", "stemlang",
+ "fetchtext", NULL};
char *sutf8 = 0; // needs freeing
char *sstemlang = 0;
- int dostem = 1;
PyObject *dostemobj = 0;
- if (!PyArg_ParseTupleAndKeywords(args, kwargs, "es|Oes:Query_execute",
+ PyObject *fetchtextobj = 0;
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "es|OesO:Query_execute",
(char**)kwlist, "utf-8", &sutf8,
&dostemobj,
- "utf-8", &sstemlang)) {
- return 0;
- }
+ "utf-8", &sstemlang, &fetchtextobj)) {
+ return 0;
+ }
+
+ bool dostem{true};
if (dostemobj != 0 && !PyObject_IsTrue(dostemobj))
- dostem = 0;
+ dostem = false;
+ if (fetchtextobj != 0 && PyObject_IsTrue(fetchtextobj)) {
+ self->fetchtext = true;
+ } else {
+ self->fetchtext = false;
+ }
string utf8(sutf8);
PyMem_Free(sutf8);
@@ -970,7 +982,8 @@
PyMem_Free(sstemlang);
}
- LOGDEB0("Query_execute: [" << (utf8) << "] dostem " << (dostem) << " stemlang [" << (stemlang) << "]\n" );
+ LOGDEB0("Query_execute: [" << utf8 << "] dostem " << dostem <<
+ " stemlang [" << stemlang << "]\n");
if (self->query == 0 ||
the_queries.find(self->query) == the_queries.end()) {
@@ -999,7 +1012,7 @@
}
PyDoc_STRVAR(doc_Query_executesd,
-"executesd(SearchData)\n"
+"executesd(SearchData, fetchtext=False)\n"
"\n"
"Starts a search for the query defined by the SearchData object.\n"
);
@@ -1007,18 +1020,24 @@
static PyObject *
Query_executesd(recoll_QueryObject* self, PyObject *args, PyObject *kwargs)
{
- LOGDEB0("Query_executeSD\n" );
- static const char *kwlist[] = {"searchdata", NULL};
+ LOGDEB0("Query_executeSD\n");
+ static const char *kwlist[] = {"searchdata", "fetchtext", NULL};
recoll_SearchDataObject *pysd = 0;
- if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!:Query_execute",
- (char **)kwlist,
- &recoll_SearchDataType, &pysd)) {
+ PyObject *fetchtextobj = 0;
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!|O:Query_execute",
+ (char **)kwlist, &recoll_SearchDataType,
+ &pysd, &fetchtextobj)) {
return 0;
}
if (pysd == 0 || self->query == 0 ||
the_queries.find(self->query) == the_queries.end()) {
PyErr_SetString(PyExc_AttributeError, "query");
return 0;
+ }
+ if (fetchtextobj != 0 && PyObject_IsTrue(fetchtextobj)) {
+ self->fetchtext = true;
+ } else {
+ self->fetchtext = false;
}
self->query->setSortBy(*self->sortfield, self->ascending);
self->query->setQuery(pysd->sd);
@@ -1049,7 +1068,7 @@
static PyObject *
Query_fetchone(PyObject *_self)
{
- LOGDEB0("Query_fetchone/next\n" );
+ LOGDEB0("Query_fetchone/next\n");
recoll_QueryObject* self = (recoll_QueryObject*)_self;
if (self->query == 0 ||
@@ -1072,7 +1091,7 @@
// We used to check against rowcount here, but this was wrong:
// xapian result count estimate are sometimes wrong, we must go on
// fetching until we fail
- if (!self->query->getDoc(self->next, *result->doc)) {
+ if (!self->query->getDoc(self->next, *result->doc, self->fetchtext)) {
PyErr_SetNone(PyExc_StopIteration);
return 0;
}
@@ -1090,7 +1109,7 @@
static PyObject *
Query_fetchmany(recoll_QueryObject* self, PyObject *args, PyObject *kwargs)
{
- LOGDEB0("Query_fetchmany\n" );
+ LOGDEB0("Query_fetchmany\n");
static const char *kwlist[] = {"size", NULL};
int size = 0;
@@ -1120,7 +1139,7 @@
PyErr_SetString(PyExc_EnvironmentError, "doc create failed");
return 0;
}
- if (!self->query->getDoc(self->next, *docobj->doc)) {
+ if (!self->query->getDoc(self->next, *docobj->doc, self->fetchtext)) {
PyErr_SetNone(PyExc_StopIteration);
break;
}
@@ -1140,7 +1159,7 @@
static PyObject *
Query_scroll(recoll_QueryObject* self, PyObject *args, PyObject *kwargs)
{
- LOGDEB0("Query_scroll\n" );
+ LOGDEB0("Query_scroll\n");
static const char *kwlist[] = {"position", "mode", NULL};
int pos = 0;
char *smode = 0;
@@ -1227,7 +1246,7 @@
static PyObject *
Query_highlight(recoll_QueryObject* self, PyObject *args, PyObject *kwargs)
{
- LOGDEB0("Query_highlight\n" );
+ LOGDEB0("Query_highlight\n");
static const char *kwlist[] = {"text", "ishtml", "eolbr", "methods", NULL};
char *sutf8 = 0; // needs freeing
int ishtml = 0;
@@ -1249,7 +1268,7 @@
ishtml = 1;
if (eolbrobj && !PyObject_IsTrue(eolbrobj))
eolbr = 0;
- LOGDEB0("Query_highlight: ishtml " << (ishtml) << "\n" );
+ LOGDEB0("Query_highlight: ishtml " << ishtml << "\n");
if (self->query == 0 ||
the_queries.find(self->query) == the_queries.end()) {
@@ -1287,7 +1306,7 @@
static PyObject *
Query_makedocabstract(recoll_QueryObject* self, PyObject *args,PyObject *kwargs)
{
- LOGDEB0("Query_makeDocAbstract\n" );
+ LOGDEB0("Query_makeDocAbstract\n");
static const char *kwlist[] = {"doc", "methods", NULL};
recoll_DocObject *pydoc = 0;
PyObject *hlmethods = 0;
@@ -1299,12 +1318,12 @@
}
if (pydoc->doc == 0 || the_docs.find(pydoc->doc) == the_docs.end()) {
- LOGERR("Query_makeDocAbstract: doc not found " << (pydoc->doc) << "\n" );
+ LOGERR("Query_makeDocAbstract: doc not found " << pydoc->doc << "\n");
PyErr_SetString(PyExc_AttributeError, "doc");
return 0;
}
if (the_queries.find(self->query) == the_queries.end()) {
- LOGERR("Query_makeDocAbstract: query not found " << (self->query) << "\n" );
+ LOGERR("Query_makeDocAbstract: query not found " << self->query << "\n");
PyErr_SetString(PyExc_AttributeError, "query");
return 0;
}
@@ -1357,7 +1376,7 @@
static PyObject *
Query_getxquery(recoll_QueryObject* self, PyObject *, PyObject *)
{
- LOGDEB0("Query_getxquery self->query " << (self->query) << "\n" );
+ LOGDEB0("Query_getxquery self->query " << self->query << "\n");
if (self->query == 0 ||
the_queries.find(self->query) == the_queries.end()) {
@@ -1385,7 +1404,7 @@
static PyObject *
Query_getgroups(recoll_QueryObject* self, PyObject *, PyObject *)
{
- LOGDEB0("Query_getgroups\n" );
+ LOGDEB0("Query_getgroups\n");
if (self->query == 0 ||
the_queries.find(self->query) == the_queries.end()) {
@@ -1530,7 +1549,7 @@
static PyObject *
Db_close(recoll_DbObject *self)
{
- LOGDEB("Db_close. self " << (self) << "\n" );
+ LOGDEB("Db_close. self " << self << "\n");
if (self->db) {
the_dbs.erase(self->db);
delete self->db;
@@ -1542,7 +1561,7 @@
static void
Db_dealloc(recoll_DbObject *self)
{
- LOGDEB("Db_dealloc\n" );
+ LOGDEB("Db_dealloc\n");
PyObject *ret = Db_close(self);
Py_DECREF(ret);
Py_TYPE(self)->tp_free((PyObject*)self);
@@ -1551,7 +1570,7 @@
static PyObject *
Db_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
{
- LOGDEB2("Db_new\n" );
+ LOGDEB2("Db_new\n");
recoll_DbObject *self;
self = (recoll_DbObject *)type->tp_alloc(type, 0);
@@ -1583,7 +1602,7 @@
} else {
rclconfig = recollinit(0, 0, reason, 0);
}
- LOGDEB("Db_init\n" );
+ LOGDEB("Db_init\n");
if (rclconfig == 0) {
PyErr_SetString(PyExc_EnvironmentError, reason.c_str());
@@ -1599,7 +1618,7 @@
delete self->db;
self->db = new Rcl::Db(rclconfig);
if (!self->db->open(writable ? Rcl::Db::DbUpd : Rcl::Db::DbRO)) {
- LOGERR("Db_init: db open error\n" );
+ LOGERR("Db_init: db open error\n");
PyErr_SetString(PyExc_EnvironmentError, "Can't open index");
return -1;
}
@@ -1642,9 +1661,9 @@
static PyObject *
Db_query(recoll_DbObject* self)
{
- LOGDEB("Db_query\n" );
+ LOGDEB("Db_query\n");
if (self->db == 0 || the_dbs.find(self->db) == the_dbs.end()) {
- LOGERR("Db_query: db not found " << (self->db) << "\n" );
+ LOGERR("Db_query: db not found " << self->db << "\n");
PyErr_SetString(PyExc_AttributeError, "db");
return 0;
}
@@ -1663,18 +1682,19 @@
static PyObject *
Db_setAbstractParams(recoll_DbObject *self, PyObject *args, PyObject *kwargs)
{
- LOGDEB0("Db_setAbstractParams\n" );
+ LOGDEB0("Db_setAbstractParams\n");
static const char *kwlist[] = {"maxchars", "contextwords", NULL};
int ctxwords = -1, maxchars = -1;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|ii", (char**)kwlist,
&maxchars, &ctxwords))
return 0;
if (self->db == 0 || the_dbs.find(self->db) == the_dbs.end()) {
- LOGERR("Db_query: db not found " << (self->db) << "\n" );
+ LOGERR("Db_query: db not found " << self->db << "\n");
PyErr_SetString(PyExc_AttributeError, "db id not found");
return 0;
}
- LOGDEB0("Db_setAbstractParams: mxchrs " << (maxchars) << ", ctxwrds " << (ctxwords) << "\n" );
+ LOGDEB0("Db_setAbstractParams: mxchrs " << maxchars << ", ctxwrds " <<
+ ctxwords << "\n");
self->db->setAbstractParams(-1, maxchars, ctxwords);
Py_RETURN_NONE;
}
@@ -1682,7 +1702,7 @@
static PyObject *
Db_makeDocAbstract(recoll_DbObject* self, PyObject *args)
{
- LOGDEB0("Db_makeDocAbstract\n" );
+ LOGDEB0("Db_makeDocAbstract\n");
recoll_DocObject *pydoc = 0;
recoll_QueryObject *pyquery = 0;
if (!PyArg_ParseTuple(args, "O!O!:Db_makeDocAbstract",
@@ -1691,18 +1711,18 @@
return 0;
}
if (self->db == 0 || the_dbs.find(self->db) == the_dbs.end()) {
- LOGERR("Db_makeDocAbstract: db not found " << (self->db) << "\n" );
+ LOGERR("Db_makeDocAbstract: db not found " << self->db << "\n");
PyErr_SetString(PyExc_AttributeError, "db");
return 0;
}
if (pydoc->doc == 0 || the_docs.find(pydoc->doc) == the_docs.end()) {
- LOGERR("Db_makeDocAbstract: doc not found " << (pydoc->doc) << "\n" );
+ LOGERR("Db_makeDocAbstract: doc not found " << pydoc->doc << "\n");
PyErr_SetString(PyExc_AttributeError, "doc");
return 0;
}
if (pyquery->query == 0 ||
the_queries.find(pyquery->query) == the_queries.end()) {
- LOGERR("Db_makeDocAbstract: query not found " << (pyquery->query) << "\n" );
+ LOGERR("Db_makeDocAbstract: query not found " << pyquery->query << "\n");
PyErr_SetString(PyExc_AttributeError, "query");
return 0;
}
@@ -1727,7 +1747,7 @@
static PyObject *
Db_termMatch(recoll_DbObject* self, PyObject *args, PyObject *kwargs)
{
- LOGDEB0("Db_termMatch\n" );
+ LOGDEB0("Db_termMatch\n");
static const char *kwlist[] = {"type", "expr", "field", "maxlen",
"casesens", "diacsens", "lang", NULL};
char *tp = 0;
@@ -1750,7 +1770,7 @@
return 0;
if (self->db == 0 || the_dbs.find(self->db) == the_dbs.end()) {
- LOGERR("Db_termMatch: db not found " << (self->db) << "\n" );
+ LOGERR("Db_termMatch: db not found " << self->db << "\n");
PyErr_SetString(PyExc_AttributeError, "db");
goto out;
}
@@ -1775,7 +1795,7 @@
if (!self->db->termMatch(typ_sens, lang ? lang : "english",
expr, result, maxlen, field ? field : "")) {
- LOGERR("Db_termMatch: db termMatch error\n" );
+ LOGERR("Db_termMatch: db termMatch error\n");
PyErr_SetString(PyExc_AttributeError, "rcldb termMatch error");
goto out;
}
@@ -1796,7 +1816,7 @@
static PyObject *
Db_needUpdate(recoll_DbObject* self, PyObject *args, PyObject *kwds)
{
- LOGDEB0("Db_needUpdate\n" );
+ LOGDEB0("Db_needUpdate\n");
char *udi = 0; // needs freeing
char *sig = 0; // needs freeing
if (!PyArg_ParseTuple(args, "eses:Db_needUpdate",
@@ -1804,7 +1824,7 @@
return 0;
}
if (self->db == 0 || the_dbs.find(self->db) == the_dbs.end()) {
- LOGERR("Db_needUpdate: db not found " << (self->db) << "\n" );
+ LOGERR("Db_needUpdate: db not found " << self->db << "\n");
PyErr_SetString(PyExc_AttributeError, "db");
PyMem_Free(udi);
PyMem_Free(sig);
@@ -1819,13 +1839,13 @@
static PyObject *
Db_delete(recoll_DbObject* self, PyObject *args, PyObject *kwds)
{
- LOGDEB0("Db_delete\n" );
+ LOGDEB0("Db_delete\n");
char *udi = 0; // needs freeing
if (!PyArg_ParseTuple(args, "es:Db_delete", "utf-8", &udi)) {
return 0;
}
if (self->db == 0 || the_dbs.find(self->db) == the_dbs.end()) {
- LOGERR("Db_delete: db not found " << (self->db) << "\n" );
+ LOGERR("Db_delete: db not found " << self->db << "\n");
PyErr_SetString(PyExc_AttributeError, "db");
PyMem_Free(udi);
return 0;
@@ -1838,9 +1858,9 @@
static PyObject *
Db_purge(recoll_DbObject* self)
{
- LOGDEB0("Db_purge\n" );
+ LOGDEB0("Db_purge\n");
if (self->db == 0 || the_dbs.find(self->db) == the_dbs.end()) {
- LOGERR("Db_purge: db not found " << (self->db) << "\n" );
+ LOGERR("Db_purge: db not found " << self->db << "\n");
PyErr_SetString(PyExc_AttributeError, "db");
return 0;
}
@@ -1851,7 +1871,7 @@
static PyObject *
Db_addOrUpdate(recoll_DbObject* self, PyObject *args, PyObject *)
{
- LOGDEB0("Db_addOrUpdate\n" );
+ LOGDEB0("Db_addOrUpdate\n");
char *sudi = 0; // needs freeing
char *sparent_udi = 0; // needs freeing
recoll_DocObject *pydoc;
@@ -1867,17 +1887,17 @@
PyMem_Free(sparent_udi);
if (self->db == 0 || the_dbs.find(self->db) == the_dbs.end()) {
- LOGERR("Db_addOrUpdate: db not found " << (self->db) << "\n" );
+ LOGERR("Db_addOrUpdate: db not found " << self->db << "\n");
PyErr_SetString(PyExc_AttributeError, "db");
return 0;
}
if (pydoc->doc == 0 || the_docs.find(pydoc->doc) == the_docs.end()) {
- LOGERR("Db_addOrUpdate: doc not found " << (pydoc->doc) << "\n" );
+ LOGERR("Db_addOrUpdate: doc not found " << pydoc->doc << "\n");
PyErr_SetString(PyExc_AttributeError, "doc");
return 0;
}
if (!self->db->addOrUpdate(udi, parent_udi, *pydoc->doc)) {
- LOGERR("Db_addOrUpdate: rcldb error\n" );
+ LOGERR("Db_addOrUpdate: rcldb error\n");
PyErr_SetString(PyExc_AttributeError, "rcldb error");
return 0;
}
@@ -1992,7 +2012,7 @@
static PyObject *
recoll_connect(PyObject *self, PyObject *args, PyObject *kwargs)
{
- LOGDEB2("recoll_connect\n" );
+ LOGDEB2("recoll_connect\n");
recoll_DbObject *db = (recoll_DbObject *)
PyObject_Call((PyObject *)&recoll_DbType, args, kwargs);
return (PyObject *)db;