def read_passage(words): """Return, as a string, any iambic-pentameter lines that start the given word-sequence.""" meter = metercop.iamb * 5 passage = '' for word in words: meter, rhyme = metercop.match_word(word, meter) if meter is None: break passage += ' ' + word if meter == (): passage += '\n' meter = metercop.iamb * 5 return passage
def versify(line_meter, tokens): acc = '' meter = line_meter for token in tokens: if not is_word(token): acc += token else: if meter == (): meter = line_meter acc += '<br/>' word = clean_word(token) meter, rhyme = metercop.match_word(word, meter) if meter is None: break acc += token return acc if meter == () else None