renamed a few things

This commit is contained in:
dockes 2008-08-26 07:56:40 +00:00
parent 54a7b69f41
commit b43d8ff1a7
5 changed files with 95 additions and 97 deletions

View File

@ -1,5 +1,5 @@
#ifndef lint #ifndef lint
static char rcsid[] = "@(#$Id: pyrecoll.cpp,v 1.6 2008-08-26 07:36:41 dockes Exp $ (C) 2007 J.F.Dockes"; static char rcsid[] = "@(#$Id: pyrecoll.cpp,v 1.7 2008-08-26 07:56:40 dockes Exp $ (C) 2007 J.F.Dockes";
#endif #endif
#include <Python.h> #include <Python.h>
@ -41,12 +41,12 @@ typedef struct {
PyObject_HEAD PyObject_HEAD
/* Type-specific fields go here. */ /* Type-specific fields go here. */
Rcl::Db *db; Rcl::Db *db;
} recollq_DbObject; } recoll_DbObject;
static PyTypeObject recollq_DbType = { static PyTypeObject recoll_DbType = {
PyObject_HEAD_INIT(NULL) PyObject_HEAD_INIT(NULL)
0, /*ob_size*/ 0, /*ob_size*/
"recollq.Db", /*tp_name*/ "recoll.Db", /*tp_name*/
sizeof(recollq_DbObject), /*tp_basicsize*/ sizeof(recoll_DbObject), /*tp_basicsize*/
0, /*tp_itemsize*/ 0, /*tp_itemsize*/
0, /*tp_dealloc*/ 0, /*tp_dealloc*/
0, /*tp_print*/ 0, /*tp_print*/
@ -64,7 +64,7 @@ static PyTypeObject recollq_DbType = {
0, /*tp_setattro*/ 0, /*tp_setattro*/
0, /*tp_as_buffer*/ 0, /*tp_as_buffer*/
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE, /*tp_flags*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE, /*tp_flags*/
"Recollq Db objects", /* tp_doc */ "Recoll Db objects", /* tp_doc */
0, /* tp_traverse */ 0, /* tp_traverse */
0, /* tp_clear */ 0, /* tp_clear */
0, /* tp_richcompare */ 0, /* tp_richcompare */
@ -90,13 +90,13 @@ typedef struct {
/* Type-specific fields go here. */ /* Type-specific fields go here. */
Rcl::Query *query; Rcl::Query *query;
int next; // Index of result to be fetched next or -1 if uninit int next; // Index of result to be fetched next or -1 if uninit
} recollq_QueryObject; } recoll_QueryObject;
static PyTypeObject recollq_QueryType = { static PyTypeObject recoll_QueryType = {
PyObject_HEAD_INIT(NULL) PyObject_HEAD_INIT(NULL)
0, /*ob_size*/ 0, /*ob_size*/
"recollq.Query", /*tp_name*/ "recoll.Query", /*tp_name*/
sizeof(recollq_QueryObject), /*tp_basicsize*/ sizeof(recoll_QueryObject), /*tp_basicsize*/
0, /*tp_itemsize*/ 0, /*tp_itemsize*/
0, /*tp_dealloc*/ 0, /*tp_dealloc*/
0, /*tp_print*/ 0, /*tp_print*/
@ -114,7 +114,7 @@ static PyTypeObject recollq_QueryType = {
0, /*tp_setattro*/ 0, /*tp_setattro*/
0, /*tp_as_buffer*/ 0, /*tp_as_buffer*/
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE, /*tp_flags*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE, /*tp_flags*/
"Recollq Query object", /* tp_doc */ "Recoll Query object", /* tp_doc */
0, /* tp_traverse */ 0, /* tp_traverse */
0, /* tp_clear */ 0, /* tp_clear */
0, /* tp_richcompare */ 0, /* tp_richcompare */
@ -137,13 +137,13 @@ typedef struct {
PyObject_HEAD PyObject_HEAD
/* Type-specific fields go here. */ /* Type-specific fields go here. */
Rcl::Doc *doc; Rcl::Doc *doc;
} recollq_DocObject; } recoll_DocObject;
static PyTypeObject recollq_DocType = { static PyTypeObject recoll_DocType = {
PyObject_HEAD_INIT(NULL) PyObject_HEAD_INIT(NULL)
0, /*ob_size*/ 0, /*ob_size*/
"recollq.Doc", /*tp_name*/ "recoll.Doc", /*tp_name*/
sizeof(recollq_DocObject), /*tp_basicsize*/ sizeof(recoll_DocObject), /*tp_basicsize*/
0, /*tp_itemsize*/ 0, /*tp_itemsize*/
0, /*tp_dealloc*/ 0, /*tp_dealloc*/
0, /*tp_print*/ 0, /*tp_print*/
@ -161,7 +161,7 @@ static PyTypeObject recollq_DocType = {
0, /*tp_setattro*/ 0, /*tp_setattro*/
0, /*tp_as_buffer*/ 0, /*tp_as_buffer*/
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE, /*tp_flags*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE, /*tp_flags*/
"Recollq Doc objects", /* tp_doc */ "Recoll Doc objects", /* tp_doc */
0, /* tp_traverse */ 0, /* tp_traverse */
0, /* tp_clear */ 0, /* tp_clear */
0, /* tp_richcompare */ 0, /* tp_richcompare */
@ -184,7 +184,7 @@ static PyTypeObject recollq_DocType = {
/////////////////////////////////////////////// ///////////////////////////////////////////////
////// Db object code ////// Db object code
static void static void
Db_dealloc(recollq_DbObject *self) Db_dealloc(recoll_DbObject *self)
{ {
LOGDEB(("Db_dealloc\n")); LOGDEB(("Db_dealloc\n"));
if (self->db) if (self->db)
@ -198,9 +198,9 @@ static PyObject *
Db_new(PyTypeObject *type, PyObject *args, PyObject *kwds) Db_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
{ {
LOGDEB(("Db_new\n")); LOGDEB(("Db_new\n"));
recollq_DbObject *self; recoll_DbObject *self;
self = (recollq_DbObject *)type->tp_alloc(type, 0); self = (recoll_DbObject *)type->tp_alloc(type, 0);
if (self == 0) if (self == 0)
return 0; return 0;
self->db = 0; self->db = 0;
@ -208,7 +208,7 @@ Db_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
} }
static int static int
Db_init(recollq_DbObject *self, PyObject *args, PyObject *kwargs) Db_init(recoll_DbObject *self, PyObject *args, PyObject *kwargs)
{ {
LOGDEB(("Db_init\n")); LOGDEB(("Db_init\n"));
static char *kwlist[] = {"confdir", "extra_dbs", "writable", NULL}; static char *kwlist[] = {"confdir", "extra_dbs", "writable", NULL};
@ -289,7 +289,7 @@ Db_init(recollq_DbObject *self, PyObject *args, PyObject *kwargs)
} }
static PyObject * static PyObject *
Db_query(recollq_DbObject* self) 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()) { if (self->db == 0 || the_dbs.find(self->db) == the_dbs.end()) {
@ -297,8 +297,8 @@ Db_query(recollq_DbObject* self)
PyErr_SetString(PyExc_AttributeError, "db"); PyErr_SetString(PyExc_AttributeError, "db");
return 0; return 0;
} }
recollq_QueryObject *result = recoll_QueryObject *result =
(recollq_QueryObject *)obj_Create(&recollq_QueryType, 0, 0); (recoll_QueryObject *)obj_Create(&recoll_QueryType, 0, 0);
if (!result) if (!result)
return 0; return 0;
result->query = new Rcl::Query(self->db); result->query = new Rcl::Query(self->db);
@ -308,7 +308,7 @@ Db_query(recollq_DbObject* self)
} }
static PyObject * static PyObject *
Db_setAbstractParams(recollq_DbObject *self, PyObject *args, PyObject *kwargs) Db_setAbstractParams(recoll_DbObject *self, PyObject *args, PyObject *kwargs)
{ {
LOGDEB(("Db_setAbstractParams\n")); LOGDEB(("Db_setAbstractParams\n"));
static char *kwlist[] = {"maxchars", "contextwords", NULL}; static char *kwlist[] = {"maxchars", "contextwords", NULL};
@ -326,14 +326,14 @@ Db_setAbstractParams(recollq_DbObject *self, PyObject *args, PyObject *kwargs)
} }
static PyObject * static PyObject *
Db_makeDocAbstract(recollq_DbObject* self, PyObject *args, PyObject *) Db_makeDocAbstract(recoll_DbObject* self, PyObject *args, PyObject *)
{ {
LOGDEB(("Db_makeDocAbstract\n")); LOGDEB(("Db_makeDocAbstract\n"));
recollq_DocObject *pydoc; recoll_DocObject *pydoc;
recollq_QueryObject *pyquery; recoll_QueryObject *pyquery;
if (!PyArg_ParseTuple(args, "O!O!:Db_makeDocAbstract", if (!PyArg_ParseTuple(args, "O!O!:Db_makeDocAbstract",
&recollq_DocType, &pydoc, &recoll_DocType, &pydoc,
&recollq_QueryType, &pyquery)) { &recoll_QueryType, &pyquery)) {
return 0; return 0;
} }
if (self->db == 0 || the_dbs.find(self->db) == the_dbs.end()) { if (self->db == 0 || the_dbs.find(self->db) == the_dbs.end()) {
@ -363,7 +363,7 @@ Db_makeDocAbstract(recollq_DbObject* self, PyObject *args, PyObject *)
} }
static PyObject * static PyObject *
Db_needUpdate(recollq_DbObject* self, PyObject *args, PyObject *kwds) Db_needUpdate(recoll_DbObject* self, PyObject *args, PyObject *kwds)
{ {
char *udi = 0; char *udi = 0;
char *sig = 0; char *sig = 0;
@ -384,17 +384,17 @@ Db_needUpdate(recollq_DbObject* self, PyObject *args, PyObject *kwds)
} }
static PyObject * static PyObject *
Db_addOrUpdate(recollq_DbObject* self, PyObject *args, PyObject *) Db_addOrUpdate(recoll_DbObject* self, PyObject *args, PyObject *)
{ {
LOGDEB(("Db_addOrUpdate\n")); LOGDEB(("Db_addOrUpdate\n"));
char *udi = 0; char *udi = 0;
char *parent_udi = 0; char *parent_udi = 0;
recollq_DocObject *pydoc; recoll_DocObject *pydoc;
if (!PyArg_ParseTuple(args, "esesO!:Db_makeDocAbstract", if (!PyArg_ParseTuple(args, "esesO!:Db_makeDocAbstract",
"utf-8", &udi, "utf-8", &parent_udi, "utf-8", &udi, "utf-8", &parent_udi,
&recollq_DocType, &pydoc)) { &recoll_DocType, &pydoc)) {
return 0; return 0;
} }
if (self->db == 0 || the_dbs.find(self->db) == the_dbs.end()) { if (self->db == 0 || the_dbs.find(self->db) == the_dbs.end()) {
@ -442,7 +442,7 @@ static PyMethodDef Db_methods[] = {
///////////////////////////////////////////// /////////////////////////////////////////////
/// Query object method /// Query object method
static void static void
Query_dealloc(recollq_QueryObject *self) Query_dealloc(recoll_QueryObject *self)
{ {
LOGDEB(("Query_dealloc\n")); LOGDEB(("Query_dealloc\n"));
if (self->query) if (self->query)
@ -455,10 +455,10 @@ Query_dealloc(recollq_QueryObject *self)
static PyObject * static PyObject *
Query_new(PyTypeObject *type, PyObject *args, PyObject *kwargs) Query_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
{ {
recollq_QueryObject *self; recoll_QueryObject *self;
LOGDEB(("Query_new\n")); LOGDEB(("Query_new\n"));
self = (recollq_QueryObject *)type->tp_alloc(type, 0); self = (recoll_QueryObject *)type->tp_alloc(type, 0);
if (self == 0) if (self == 0)
return 0; return 0;
self->query = 0; self->query = 0;
@ -470,7 +470,7 @@ Query_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
// valid Query Object is through db_query(). (or we'd need to add a Db // valid Query Object is through db_query(). (or we'd need to add a Db
// parameter to the Query object creation method) // parameter to the Query object creation method)
static int static int
Query_init(recollq_QueryObject *self, PyObject *, PyObject *) Query_init(recoll_QueryObject *self, PyObject *, PyObject *)
{ {
LOGDEB(("Query_init\n")); LOGDEB(("Query_init\n"));
@ -483,7 +483,7 @@ Query_init(recollq_QueryObject *self, PyObject *, PyObject *)
} }
static PyObject * static PyObject *
Query_execute(recollq_QueryObject* self, PyObject *args, PyObject *kwds) Query_execute(recoll_QueryObject* self, PyObject *args, PyObject *kwds)
{ {
char *utf8 = 0; char *utf8 = 0;
LOGDEB(("Query_execute\n")); LOGDEB(("Query_execute\n"));
@ -512,7 +512,7 @@ Query_execute(recollq_QueryObject* self, PyObject *args, PyObject *kwds)
} }
static PyObject * static PyObject *
Query_fetchone(recollq_QueryObject* self, PyObject *, PyObject *) Query_fetchone(recoll_QueryObject* self, PyObject *, PyObject *)
{ {
LOGDEB(("Query_fetchone\n")); LOGDEB(("Query_fetchone\n"));
@ -526,8 +526,8 @@ Query_fetchone(recollq_QueryObject* self, PyObject *, PyObject *)
PyErr_SetString(PyExc_AttributeError, "query: no results"); PyErr_SetString(PyExc_AttributeError, "query: no results");
return 0; return 0;
} }
recollq_DocObject *result = recoll_DocObject *result =
(recollq_DocObject *)obj_Create(&recollq_DocType, 0, 0); (recoll_DocObject *)obj_Create(&recoll_DocType, 0, 0);
if (!result) { if (!result) {
LOGERR(("Query_fetchone: couldn't create doc object for result\n")); LOGERR(("Query_fetchone: couldn't create doc object for result\n"));
return 0; return 0;
@ -570,7 +570,7 @@ static PyMethodDef Query_methods[] = {
{NULL} /* Sentinel */ {NULL} /* Sentinel */
}; };
static PyMemberDef Query_members[] = { static PyMemberDef Query_members[] = {
{"next", T_INT, offsetof(recollq_QueryObject, next), 0, {"next", T_INT, offsetof(recoll_QueryObject, next), 0,
"Next index to be fetched from query results"}, "Next index to be fetched from query results"},
{NULL} /* Sentinel */ {NULL} /* Sentinel */
}; };
@ -578,7 +578,7 @@ static PyMemberDef Query_members[] = {
/////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////
///// Doc object methods ///// Doc object methods
static void static void
Doc_dealloc(recollq_DocObject *self) Doc_dealloc(recoll_DocObject *self)
{ {
LOGDEB(("Doc_dealloc\n")); LOGDEB(("Doc_dealloc\n"));
if (self->doc) if (self->doc)
@ -591,10 +591,10 @@ Doc_dealloc(recollq_DocObject *self)
static PyObject * static PyObject *
Doc_new(PyTypeObject *type, PyObject *args, PyObject *kwds) Doc_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
{ {
recollq_DocObject *self; recoll_DocObject *self;
LOGDEB(("Doc_new\n")); LOGDEB(("Doc_new\n"));
self = (recollq_DocObject *)type->tp_alloc(type, 0); self = (recoll_DocObject *)type->tp_alloc(type, 0);
if (self == 0) if (self == 0)
return 0; return 0;
self->doc = 0; self->doc = 0;
@ -602,7 +602,7 @@ Doc_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
} }
static int static int
Doc_init(recollq_DocObject *self, PyObject *, PyObject *) Doc_init(recoll_DocObject *self, PyObject *, PyObject *)
{ {
LOGDEB(("Doc_init\n")); LOGDEB(("Doc_init\n"));
if (self->doc) if (self->doc)
@ -620,7 +620,7 @@ Doc_init(recollq_DocObject *self, PyObject *, PyObject *)
// attributes (pass them an additional parameters as from the // attributes (pass them an additional parameters as from the
// getseters table and call it a "closure" // getseters table and call it a "closure"
static PyObject * static PyObject *
Doc_getmeta(recollq_DocObject *self, void *closure) Doc_getmeta(recoll_DocObject *self, void *closure)
{ {
LOGDEB(("Doc_getmeta: [%s]\n", (const char *)closure)); LOGDEB(("Doc_getmeta: [%s]\n", (const char *)closure));
if (self->doc == 0 || if (self->doc == 0 ||
@ -647,7 +647,7 @@ Doc_getmeta(recollq_DocObject *self, void *closure)
} }
static int static int
Doc_setmeta(recollq_DocObject *self, PyObject *value, void *closure) Doc_setmeta(recoll_DocObject *self, PyObject *value, void *closure)
{ {
if (self->doc == 0 || if (self->doc == 0 ||
the_docs.find(self->doc) == the_docs.end()) { the_docs.find(self->doc) == the_docs.end()) {
@ -759,17 +759,17 @@ static PyGetSetDef Doc_getseters[] = {
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// Module methods // Module methods
static PyObject * static PyObject *
recollq_connect(PyObject *self, PyObject *args, PyObject *kwargs) recoll_connect(PyObject *self, PyObject *args, PyObject *kwargs)
{ {
LOGDEB(("recollq_connect\n")); LOGDEB(("recoll_connect\n"));
recollq_DbObject *db = recoll_DbObject *db =
(recollq_DbObject *)obj_Create(&recollq_DbType, args, kwargs); (recoll_DbObject *)obj_Create(&recoll_DbType, args, kwargs);
return (PyObject *)db; return (PyObject *)db;
} }
static PyMethodDef recollqMethods[] = { static PyMethodDef recollMethods[] = {
{"connect", (PyCFunction)recollq_connect, METH_VARARGS|METH_KEYWORDS, {"connect", (PyCFunction)recoll_connect, METH_VARARGS|METH_KEYWORDS,
"Connect to index and get Db object."}, "Connect to index and get Db object."},
{NULL, NULL, 0, NULL} /* Sentinel */ {NULL, NULL, 0, NULL} /* Sentinel */
@ -785,7 +785,7 @@ RclConfig *RclConfig::getMainConfig()
#define PyMODINIT_FUNC void #define PyMODINIT_FUNC void
#endif #endif
PyMODINIT_FUNC PyMODINIT_FUNC
initrecollq(void) initrecoll(void)
{ {
string reason; string reason;
rclconfig = recollinit(0, 0, reason, 0); rclconfig = recollinit(0, 0, reason, 0);
@ -800,38 +800,38 @@ initrecollq(void)
} }
PyObject* m; PyObject* m;
m = Py_InitModule3("recollq", recollqMethods, m = Py_InitModule3("recoll", recollMethods,
"Recoll query extension module."); "Recoll query extension module.");
recollq_DbType.tp_dealloc = (destructor)Db_dealloc; recoll_DbType.tp_dealloc = (destructor)Db_dealloc;
recollq_DbType.tp_new = Db_new; recoll_DbType.tp_new = Db_new;
recollq_DbType.tp_init = (initproc)Db_init; recoll_DbType.tp_init = (initproc)Db_init;
recollq_DbType.tp_methods = Db_methods; recoll_DbType.tp_methods = Db_methods;
if (PyType_Ready(&recollq_DbType) < 0) if (PyType_Ready(&recoll_DbType) < 0)
return; return;
LOGDEB(("initrecollq: recollq_DbType new %p\n", recollq_DbType.tp_new)); LOGDEB(("initrecoll: recoll_DbType new %p\n", recoll_DbType.tp_new));
Py_INCREF(&recollq_DbType); Py_INCREF(&recoll_DbType);
PyModule_AddObject(m, "Db", (PyObject *)&recollq_DbType); PyModule_AddObject(m, "Db", (PyObject *)&recoll_DbType);
recollq_QueryType.tp_dealloc = (destructor)Query_dealloc; recoll_QueryType.tp_dealloc = (destructor)Query_dealloc;
recollq_QueryType.tp_new = Query_new; recoll_QueryType.tp_new = Query_new;
recollq_QueryType.tp_init = (initproc)Query_init; recoll_QueryType.tp_init = (initproc)Query_init;
recollq_QueryType.tp_methods = Query_methods; recoll_QueryType.tp_methods = Query_methods;
recollq_QueryType.tp_members = Query_members; recoll_QueryType.tp_members = Query_members;
if (PyType_Ready(&recollq_QueryType) < 0) if (PyType_Ready(&recoll_QueryType) < 0)
return; return;
Py_INCREF(&recollq_QueryType); Py_INCREF(&recoll_QueryType);
PyModule_AddObject(m, "Query", (PyObject *)&recollq_QueryType); PyModule_AddObject(m, "Query", (PyObject *)&recoll_QueryType);
recollq_DocType.tp_dealloc = (destructor)Doc_dealloc; recoll_DocType.tp_dealloc = (destructor)Doc_dealloc;
recollq_DocType.tp_new = Doc_new; recoll_DocType.tp_new = Doc_new;
recollq_DocType.tp_init = (initproc)Doc_init; recoll_DocType.tp_init = (initproc)Doc_init;
recollq_DocType.tp_getset = Doc_getseters; recoll_DocType.tp_getset = Doc_getseters;
// recollq_DocType.tp_methods = Doc_methods; // recoll_DocType.tp_methods = Doc_methods;
if (PyType_Ready(&recollq_DocType) < 0) if (PyType_Ready(&recoll_DocType) < 0)
return; return;
Py_INCREF(&recollq_DocType); Py_INCREF(&recoll_DocType);
PyModule_AddObject(m, "Doc", (PyObject *)&recollq_DocType); PyModule_AddObject(m, "Doc", (PyObject *)&recoll_DocType);
LOGDEB(("initrecollq ok\n")); LOGDEB(("initrecoll ok\n"));
} }

View File

@ -1,7 +1,7 @@
from distutils.core import setup, Extension from distutils.core import setup, Extension
top = '../../' top = '../../'
module1 = Extension('recollq', module1 = Extension('recoll',
define_macros = [('MAJOR_VERSION', '1'), define_macros = [('MAJOR_VERSION', '1'),
('MINOR_VERSION', '0'), ('MINOR_VERSION', '0'),
('UNAC_VERSION', '"1.0.7"'), ('UNAC_VERSION', '"1.0.7"'),
@ -18,7 +18,7 @@ module1 = Extension('recollq',
], ],
libraries = ['xapian', 'iconv'], libraries = ['xapian', 'iconv'],
library_dirs = ['/usr/local/lib'], library_dirs = ['/usr/local/lib'],
sources = ['recoll_query.cpp', sources = ['pyrecoll.cpp',
top + 'common/rclconfig.cpp', top + 'common/rclconfig.cpp',
top + 'common/rclinit.cpp', top + 'common/rclinit.cpp',
top + 'common/textsplit.cpp', top + 'common/textsplit.cpp',
@ -43,13 +43,11 @@ module1 = Extension('recollq',
top + 'utils/wipedir.cpp' top + 'utils/wipedir.cpp'
]) ])
setup (name = 'Recoll',
setup (name = 'RecollQuery',
version = '1.0', version = '1.0',
description = 'Enable querying a Recoll full text index', description = 'Query/Augment a Recoll full text index',
author = 'J.F. Dockes', author = 'J.F. Dockes',
author_email = 'jean-francois.dockes@wanadoo.fr', author_email = 'jean-francois.dockes@wanadoo.fr',
long_description = ''' long_description = '''
This is really just a demo package for now.
''', ''',
ext_modules = [module1]) ext_modules = [module1])

View File

@ -90,8 +90,8 @@ fbytes = stdata[stat.ST_SIZE]
f = open(docfile, 'r') f = open(docfile, 'r')
if targetnum == None: if targetnum == None:
import recollq import recoll
db = recollq.connect(confdir=rclconf, writable=1) db = recoll.connect(confdir=rclconf, writable=1)
if not db.needUpdate(udi(docfile, 0), str(fmtime)): if not db.needUpdate(udi(docfile, 0), str(fmtime)):
exit(0) exit(0)

View File

@ -4,7 +4,7 @@ import mailbox
import email.header import email.header
import email.utils import email.utils
#import sys #import sys
import recollq import recoll
import os import os
import stat import stat
@ -54,7 +54,7 @@ class mbox_indexer:
self.msgnum += 1 self.msgnum += 1
def index_message(self, db, msg): def index_message(self, db, msg):
doc = recollq.Doc() doc = recoll.Doc()
doc.author = header_value(msg, "From") doc.author = header_value(msg, "From")
# url # url
doc.url = "file://" + self.mbfile doc.url = "file://" + self.mbfile
@ -103,7 +103,7 @@ class mbox_indexer:
db.addOrUpdate(udi, u"", doc) db.addOrUpdate(udi, u"", doc)
db = recollq.connect(confdir=rclconf, writable=1) db = recoll.connect(confdir=rclconf, writable=1)
mbidx = mbox_indexer(mbfile) mbidx = mbox_indexer(mbfile)
mbidx.index(db) mbidx.index(db)

View File

@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
import sys import sys
import recollq import recoll
allmeta = ("title", "keywords", "abstract", "url", "mimetype", "mtime", allmeta = ("title", "keywords", "abstract", "url", "mimetype", "mtime",
"ipath", "fbytes", "dbytes", "relevance") "ipath", "fbytes", "dbytes", "relevance")
@ -28,22 +28,22 @@ def dotest(db, q):
q = "essaouira" q = "essaouira"
print "TESTING WITH .recoll" print "TESTING WITH .recoll"
db = recollq.connect() db = recoll.connect()
db.setAbstractParams(maxchars=80, contextwords=2) db.setAbstractParams(maxchars=80, contextwords=2)
dotest(db, q) dotest(db, q)
sys.exit(0) sys.exit(0)
print "TESTING WITH .recoll-test" print "TESTING WITH .recoll-test"
db = recollq.connect(confdir="/Users/dockes/.recoll-test") db = recoll.connect(confdir="/Users/dockes/.recoll-test")
dotest(db, q) dotest(db, q)
print "TESTING WITH .recoll-doc" print "TESTING WITH .recoll-doc"
db = recollq.connect(confdir="/y/home/dockes/.recoll-doc") db = recoll.connect(confdir="/y/home/dockes/.recoll-doc")
dotest(db, q) dotest(db, q)
print "TESTING WITH .recoll and .recoll-doc" print "TESTING WITH .recoll and .recoll-doc"
db = recollq.connect(confdir="/Users/dockes/.recoll", db = recoll.connect(confdir="/Users/dockes/.recoll",
extra_dbs=("/y/home/dockes/.recoll-doc",)) extra_dbs=("/y/home/dockes/.recoll-doc",))
dotest(db, q) dotest(db, q)