Changeset 164

Show
Ignore:
Timestamp:
07/17/08 21:00:32 (5 months ago)
Author:
ipe
Message:

Update of textindex to reflect the change in project architecture under Pylons. Creates index within project.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • milton/textindex.py

    Revision 163 Revision 164
    1import xapian 1import xapian 
    2import string 2import string 
    3import os 3import os 
    4import milton 4import milton 
    5import glob 5import glob 
    6 6 
    7 7 
    8#create the folder for a writable db: alter path 8#create the folder for a writable db: alter path 
    9document = xapian.WritableDatabase ('C:\\index', xapian.DB_CREATE_OR_OPEN) 9document = xapian.WritableDatabase ('./index', xapian.DB_CREATE_OR_OPEN) 
    10 10 
    11indexer = xapian.TermGenerator() 11indexer = xapian.TermGenerator() 
    12stemmer = xapian.Stem("english") 12stemmer = xapian.Stem("english") 
    13indexer.set_stemmer(stemmer) 13indexer.set_stemmer(stemmer) 
    14# Path needs to be changed to data path for shakespeare 14# Path needs to be changed to data path for shakespeare 
    15works= glob.glob('c:\\texts\\*.txt') 15works= glob.glob('./data/texts/*.txt') 
    16 16 
    17for texts in works: 17for texts in works: 
    18    f= open(texts) 18    f= open(texts) 
    19para = '' 19para = '' 
    20try: 20try: 
    21 21 
    22         for line in f: 22         for line in f: 
    23            line = string.strip(line) 23            line = string.strip(line) 
    24            if line == '': 24            if line == '': 
    25                if para != '': 25                if para != '': 
    26 26 
    27                    doc = xapian.Document() 27                    doc = xapian.Document() 
    28                    doc.set_data(para) 28                    doc.set_data(para) 
    29 29 
    30                    indexer.set_document(doc) 30                    indexer.set_document(doc) 
    31                    indexer.index_text(para) 31                    indexer.index_text(para) 
    32 32 
    33                    # Add the document to the database. 33                    # Add the document to the database. 
    34                    document.add_document(doc) 34                    document.add_document(doc) 
    35                    para = '' 35                    para = '' 
    36            else: 36            else: 
    37                if para != '': 37                if para != '': 
    38                    para += ' ' 38                    para += ' ' 
    39                para += line 39                para += line 
    40except StopIteration: 40except StopIteration: 
    41        pass 41        pass 
    42        print Stopped 42        print Stopped