From 02729377d8a263f029dd98bb66e91e16669a45b0 Mon Sep 17 00:00:00 2001 From: "Brian S. Stephan" Date: Mon, 17 Sep 2012 16:23:42 -0500 Subject: [PATCH] Markov: more anti-stop bugfixes --- modules/Markov.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/modules/Markov.py b/modules/Markov.py index 3bf921e..8e9f25b 100644 --- a/modules/Markov.py +++ b/modules/Markov.py @@ -429,12 +429,12 @@ class Markov(Module): key_hits = self._retrieve_chains_for_key(self.start1, self.start2, context_id) new_chain_words.append(self._get_suitable_word_from_choices(key_hits, gen_words, min_size)) # the database is probably empty if we got a stop from this - if gen_words[0] == self.stop: + if new_chain_words[0] == self.stop: break # new word 2 key_hits = self._retrieve_chains_for_key(self.start2, new_chain_words[0], context_id) new_chain_words.append(self._get_suitable_word_from_choices(key_hits, gen_words, min_size)) - if gen_words[1] != self.stop: + if new_chain_words[1] != self.stop: # two valid words, try for a third and check for "foo:" # new word 3 (which we may need below) @@ -447,6 +447,10 @@ class Markov(Module): gen_words += new_chain_words[1:] self.log.debug("appending following anti-address " \ "new_chain_words: {0:s}".format(new_chain_words[1:])) + elif new_chain_words[2] == self.stop: + gen_words += new_chain_words[0:1] + self.log.debug("appending following anti-stop " \ + "new_chain_words: {0:s}".format(new_chain_words[0:1])) else: gen_words += new_chain_words[0:] self.log.debug("appending following extended " \