DocIndexer now handles unicode (the previous release was only really
comfortable with ascii). A full list of changes is in the CHANGELOG.
What is it?
DocIndexer is a document indexer toolkit that uses the PyLucene search
engine for indexing and searching document files. DocIndexer includes
command-line utilities, Python index and search classes plus a Win32
COM server that can be used to integrate indexing and searching into
application software. The current version has parser support for
Microsoft Word, HTML, PDF and plain text documents.
Win32: None (compiled binary distribution).
Linux: Python 2.5, PyLucene 2, antiword and poppler-utils.
Python's distribution supports a few different ways to lock files. None are
platform-independent though. A number of implementations of file locks are
out there, but as an exploration of the possibilities I wrote the lockfile
module. It offers these features:
* A platform-independent API
* Three classes implementing file locks
- LinkFileLock - relies on atomic nature of the link(2) system call.
- MkdirFileLock - relies on atomic nature of the mkdir(2) systemm
- SQLiteFileLock - provides locks through a SQLite database.
* Locking is done on a per-thread basis by default, though locking can
be done on a per-process basis instead.
* Context manager support.
The module contains documentation in ReST format and a decent set of test
cases written using doctest. Almost all the test cases are attached to the
_FileLock base class, so other implementations (e.g., using different
relational databases or object databases like ZODB) can be sure they satisfy
the same constraints.
The lockfile module is available from PyPI:
I welcome feedback from anyone who gives it a whirl. The code is stored in
a Mercurial repository on my laptop, so subject to occasional access
problems when I'm on the train others are welcome to have access to the
source code. If that's of interest to you, drop me a note.
Skip Montanaro - skip(a)pobox.com - http://www.webfast.com/~skip/
I'm happy to report the release of the O'Reilly ShortCut,
"Getting Started With Pyparsing."
This 65-page e-book goes into detail on Pyparsing's design
rationale, basic features, and a succession of applications.
"Getting Started With Pyparsing" covers a range of samples,
from an extended version of "Hello, World!" to a 100-line
search engine. An index helps you quickly find descriptions
and sample uses of the most common Pyparsing classes and methods.
Several chapter excerpts are available online, including this
chapter on the Zen of Pyparsing:
For more details, see O'Reilly's web page:
-- Paul McGuire
(For those who have downloaded it, please add a review to the
book download page.)