/SuffixArray

Source Code: SuffixArray.py

Created by Lee, Chia-ming (2006 winter) / The Chung Hwa Institute of Buddhist Studies

 
Modules
       
os
re

 
Classes
       
SuffixArray

 
class SuffixArray
    Include functions related to suffix array works.
 
  Methods defined here:
__backwardStr__(self, strg)
Return a backward string of [ strg ]
__combinTmps__(self, path, orgfn)
Combin all sorted tmp files.
[ orgfn ] = the file name of self.F
[ path ] = folder of where all tmp files saved
__getCache__(self, i, j, c)
Create 2 cache lists for search.
[ i ] = the start position
[ j ] = the end position
[ c ] = position of cache list
__getWords__(self, ofst, length)
Send offset and bytes.
Return a string from the main file( self.F ).
[ ofst ] = the offset of self.F
[ length ] = the bytes wanted to read
__init__(self, fname, suffix='')
[ fname ] = The main text file
[ suffix ] send it for: doSearch(), splitSuffixArray()
[ suffix ] none for: getSuffixArray()
__saveTmpFiles__(self, Dic, no, path)
Save the sorted result of tmp dictionary.
[ Dic ] = {offset: 128 chi-char, ...} ex: {28: 'chi-string...', ...}
[ no ] = No. of tmp files
[ path ] = path of tmp files
doSearch(self, KW, opt='')
Search the sent term.
Return ( counts, start offset ) or ( counts, concordance strings )
[ KW ] = the term want to search
[ opt = "con" ] = do concordance search in normal files
[ opt = "con_bk" ] = do concordance search in backward files
getSuffixArray(self, cache=1000000)
Create a suffix array file for self.F.
[ cache ] = default is 1mb( for 256 mb memery). Suggest 3mb for 512 or highter memery.
splitSuffixArray(self, n)
Split a suffix array file when it's too large to extract terms.
[ n ] = No. of splited file

 
Functions
       
calcsize(...)
calcsize(fmt) -> int
Return size of C struct described by format string fmt.
See struct.__doc__ for more on format strings.
gmtime(...)
gmtime([seconds]) -> (tm_year, tm_mon, tm_day, tm_hour, tm_min,
                       tm_sec, tm_wday, tm_yday, tm_isdst)
 
Convert seconds since the Epoch to a time tuple expressing UTC (a.k.a.
GMT).  When 'seconds' is not passed in, convert the current time instead.
optScreen(strings)
Send a string can't be encode by "cp950".
Return string of hex(unicode-caracter).
pack(...)
pack(fmt, v1, v2, ...) -> string
Return string containing values v1, v2, ... packed according to fmt.
See struct.__doc__ for more on format strings.
strftime(...)
strftime(format[, tuple]) -> string
 
Convert a time tuple to a string according to a format specification.
See the library reference manual for formatting codes. When the time tuple
is not present, current time as returned by localtime() is used.
time(...)
time() -> floating point number
 
Return the current time in seconds since the Epoch.
Fractions of a second may be present if the system clock provides them.
unpack(...)
unpack(fmt, string) -> (v1, v2, ...)
Unpack the string, containing packed C structure data, according
to fmt.  Requires len(string)==calcsize(fmt).
See struct.__doc__ for more on format strings.