def test_generate_huge(): words = split_to_words(open('/usr/share/fortune/cookie').read()) first, other = make_char_chain(words, 3) lengths = make_lengths_seq(words) for l in lengths[:1000]: print generate_word(first, other, l, 3), print assert False
def __iter__(self): skip_to_word = False while True: t, l = self.liter.next() if skip_to_word: while t != 'w': t, l = self.liter.next() skip_to_word = False if t == 'w': word = None for _ in range(50): try: word = generate_word(self.first, self.other, l, 3) except KeyError: break if word not in self.old_generated: break if not word: skip_to_word = True continue self.old_generated.append(word) yield word else: yield l