Changeset 163

Show
Ignore:
Timestamp:
06/08/08 13:45:15 (4 months ago)
Author:
ipe
Message:

File changed to glob a directory and open each file. Paths will need changing for future versions of project

Files:

Legend:

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

    Revision 162 Revision 163
    1import xapian 1import xapian 
    2import string 2import string 
    3import os 3import os 
    4import milton 4import milton 
      5import glob 
    5 6 
    6works = ('C:\\texts\\paradiselost.txt')   
    7 7 
    8#create the folder for a writable db 8#create the folder for a writable db: alter path 
    9document = xapian.WritableDatabase ('.\\index', xapian.DB_CREATE_OR_OPEN) 9document = xapian.WritableDatabase ('C:\\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# throws IO Error: Permission denied on ./cache: Hardcode Milton paths 14# Path needs to be changed to data path for shakespeare 
    15texts = open (works15works= glob.glob('c:\\texts\\*.txt'
    16 16 
      17for texts in works: 
      18    f= open(texts) 
    17para = '' 19para = '' 
    18try: 20try: 
    19        for line in texts:  21  
       22          for line in f: 
    20            line = string.strip(line) 23            line = string.strip(line) 
    21            if line == '': 24            if line == '': 
    22                if para != '': 25                if para != '': 
    23 26 
    24                    doc = xapian.Document() 27                    doc = xapian.Document() 
    25                    doc.set_data(para) 28                    doc.set_data(para) 
    26 29 
    27                    indexer.set_document(doc) 30                    indexer.set_document(doc) 
    28                    indexer.index_text(para) 31                    indexer.index_text(para) 
    29 32 
    30                    # Add the document to the database. 33                    # Add the document to the database. 
    31                    document.add_document(doc) 34                    document.add_document(doc) 
    32                    para = '' 35                    para = '' 
    33            else: 36            else: 
    34                if para != '': 37                if para != '': 
    35                    para += ' ' 38                    para += ' ' 
    36                para += line 39                para += line 
    37except StopIteration: 40except StopIteration: 
    38        pass 41        pass 
    39        print Stopped 42        print Stopped