Mercurial > p > roundup > code
annotate roundup/roundup_indexer.py @ 681:1b2d0e702ca8 search_indexing-0-4-2-branch
Added feature [SF#526730] - search for messages capability
| author | Roche Compaan <rochecompaan@users.sourceforge.net> |
|---|---|
| date | Wed, 03 Apr 2002 11:55:57 +0000 |
| parents | |
| children | 0521ddc7bb31 |
| rev | line source |
|---|---|
|
681
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
1 # |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
2 # Copyright (c) 2001 Bizar Software Pty Ltd (http://www.bizarsoftware.com.au/) |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
3 # This module is free software, and you may redistribute it and/or modify |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
4 # under the same terms as Python, so long as this copyright message and |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
5 # disclaimer are retained in their original form. |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
6 # |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
7 # IN NO EVENT SHALL BIZAR SOFTWARE PTY LTD BE LIABLE TO ANY PARTY FOR |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
8 # DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
9 # OUT OF THE USE OF THIS CODE, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
10 # POSSIBILITY OF SUCH DAMAGE. |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
11 # |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
12 # BIZAR SOFTWARE PTY LTD SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
13 # BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
14 # FOR A PARTICULAR PURPOSE. THE CODE PROVIDED HEREUNDER IS ON AN "AS IS" |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
15 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE, |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
16 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
17 # |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
18 #$Id: roundup_indexer.py,v 1.1.2.1 2002-04-03 11:55:57 rochecompaan Exp $ |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
19 ''' |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
20 This module provides an indexer class, RoundupIndexer, that stores text |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
21 indices in a roundup instance. This class makes searching the content of |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
22 messages and text files possible. |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
23 ''' |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
24 import os |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
25 from roundup.indexer import SlicedZPickleIndexer |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
26 |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
27 class RoundupIndexer(SlicedZPickleIndexer): |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
28 ''' Indexes messages and files |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
29 ''' |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
30 |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
31 def __init__(self, db_path): |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
32 indexdb_path = os.path.join(db_path, 'indexes') |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
33 index_exists = 0 |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
34 if not os.path.exists(indexdb_path): |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
35 os.makedirs(indexdb_path) |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
36 os.chmod(indexdb_path, 0775) |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
37 index_exists = 1 |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
38 index_path = os.path.join(indexdb_path, 'index.db') |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
39 SlicedZPickleIndexer.__init__(self, |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
40 INDEXDB=index_path, QUIET=9) |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
41 files_path = os.path.join(db_path, 'files') |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
42 if not index_exists: |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
43 self.add_files(dir=files_path) |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
44 self.save_index() |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
45 |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
46 # |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
diff
changeset
|
47 #$Log: not supported by cvs2svn $ |
