Пример #1
0
def processGaps(db, segmentation, password):
    if (segmentation == []):
        dynDictionaryID = parser.tagChunk(password)
        segment = database.Fragment(0, dynDictionaryID, password)
        segmentation.append((segment, 0, len(password)))
        return segmentation
          
    lastEndIndex = 0
    nextStartIndex = 0
    i = 0
    try:
        for x in segmentation:
            (xw, xs, xe) = x
            nextStartIndex = xs
            if (nextStartIndex > lastEndIndex):
                # find the gap, see if it is a #/sc chunk
                segmentation = addInTheGapsHelper(db, segmentation, i, password, lastEndIndex, nextStartIndex)
            lastEndIndex = xe
            i = i + 1
        if (len(password) > lastEndIndex):
                segmentation = addInTheGapsHelper(db, segmentation, i, password, lastEndIndex, len(password))
    except :
        print ("Warning: caught unknown error in addTheGaps -- resultSet=", resultSet, "password", password)

    return segmentation
Пример #2
0
def addInTheGapsHelper(db, segmentation, i, password, lastEndIndex, nextStartIndex):
    # attention for the strip() call! space info is lost! who cares?!
    gap = password[lastEndIndex:nextStartIndex].strip()
    
    dynDictionaryID = parser.tagChunk(gap) 
    
    if ((len(gap) > 0) and (dynDictionaryID > 0)):
        segment = database.Fragment(0, dynDictionaryID, gap)
        segmentation.insert(i, (segment, lastEndIndex, nextStartIndex))
        
    return segmentation