A file catalog with an HTTP frontend.
Project description
Filecat
=======
This is a WSGI application written for the ``repoze.bfg`` framework
which catalogs files in a Xapian database and provides a RESTful
interface to dispatch jobs and perform queries.
The application is configured with a ``path`` parameter which points
to a pool of files (a directory structure) and a ``host`` parameter
which provides a URL at which a webserver is configured to serve the
directory.
Components
----------
The main server thread starts up a Xapian connection and listens for
requests:
All queries are performed using the following HTTP API::
method path description
----------------------------------------------------------
POST /purge Clear index
POST /add Add file to index
@path Relative filename
POST /update Reindex file
@path Relative filename
POST /remove Remove file from index
@path Relative filename
GET /query Perform query
Parameters are passed as-is
to the Xapian query engine.
Query results
-------------
Queries return JSON structures with tuples of dicts on the following
form:
@url The URL where this file can be downloaded
@mimetype MIME-type of the file
@metadata Dict-like structure with mimetype-specific metadata*
*) The Hachoir Python package is used to provide this metadata for
image and video files.
Credits
-------
Malthe Borch and Stefan Eletzhofer
CHANGELOG
=========
Head
~~~~~
0.1 - (2008-10-03)
~~~~~~~~~~~~~~~~~~
- Remove print statements [seletz]
- Added tests for directory watch/observer. Fixed a bug where the observer would
emit absolute paths causing xapian to index absolute paths [seletz]
- Hook watcher in. The configured ``static`` directory is now watched. Changes
are now added to the Xapian queue [seletz]
- Created a directory observer thing which will allow us later to atomatically
wahtch a directory and issue Xapian operations [seletz]
- Hooked in ``modify`` and ``remove`` views. [seletz]
- Changed query parser -- it now just uses the passed-in query string. Also
added ability to limit/batch query results. [seletz]
- Configured Xapian indexer. This has to be done separately from the BFG
components, because the Xapian indexer runs in its own thread and thus uses
the global component registry. [seletz]
- Hooked up ``add`` view. [seletz]
- Implemented ``query`` view. [seletz]
- Fixed ``routes``setup wrt. permissions. [seletz]
- Changed svn layout [seletz]
- Added buildout [selez]
=======
This is a WSGI application written for the ``repoze.bfg`` framework
which catalogs files in a Xapian database and provides a RESTful
interface to dispatch jobs and perform queries.
The application is configured with a ``path`` parameter which points
to a pool of files (a directory structure) and a ``host`` parameter
which provides a URL at which a webserver is configured to serve the
directory.
Components
----------
The main server thread starts up a Xapian connection and listens for
requests:
All queries are performed using the following HTTP API::
method path description
----------------------------------------------------------
POST /purge Clear index
POST /add Add file to index
@path Relative filename
POST /update Reindex file
@path Relative filename
POST /remove Remove file from index
@path Relative filename
GET /query Perform query
Parameters are passed as-is
to the Xapian query engine.
Query results
-------------
Queries return JSON structures with tuples of dicts on the following
form:
@url The URL where this file can be downloaded
@mimetype MIME-type of the file
@metadata Dict-like structure with mimetype-specific metadata*
*) The Hachoir Python package is used to provide this metadata for
image and video files.
Credits
-------
Malthe Borch and Stefan Eletzhofer
CHANGELOG
=========
Head
~~~~~
0.1 - (2008-10-03)
~~~~~~~~~~~~~~~~~~
- Remove print statements [seletz]
- Added tests for directory watch/observer. Fixed a bug where the observer would
emit absolute paths causing xapian to index absolute paths [seletz]
- Hook watcher in. The configured ``static`` directory is now watched. Changes
are now added to the Xapian queue [seletz]
- Created a directory observer thing which will allow us later to atomatically
wahtch a directory and issue Xapian operations [seletz]
- Hooked in ``modify`` and ``remove`` views. [seletz]
- Changed query parser -- it now just uses the passed-in query string. Also
added ability to limit/batch query results. [seletz]
- Configured Xapian indexer. This has to be done separately from the BFG
components, because the Xapian indexer runs in its own thread and thus uses
the global component registry. [seletz]
- Hooked up ``add`` view. [seletz]
- Implemented ``query`` view. [seletz]
- Fixed ``routes``setup wrt. permissions. [seletz]
- Changed svn layout [seletz]
- Added buildout [selez]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
repoze.filecat-0.1.tar.gz
(63.5 kB
view hashes)