diff options
author | Clayton G. Hobbs <clay@lakeserv.net> | 2015-12-30 23:40:31 -0500 |
---|---|---|
committer | Clayton G. Hobbs <clay@lakeserv.net> | 2015-12-30 23:40:31 -0500 |
commit | 557f0b60cb19b22fd79eb1f81a58139c4942f2c4 (patch) | |
tree | 88dd701200338d280e3b89a36dbda42bf2515b20 | |
parent | e19d76f0515b291f9c6994bfd0faccccf5b894aa (diff) |
Fixed the guaranteed-dictionary-update bug
It wasn't actually guaranteed, it turns out. I was iterating over dictionary keys, which is done in arbitrary order. The result was that in different executions of the program, the corpus was generated differently, so the hashes differed, and the language had to be updated. Sorting the keys before adding them to the list of number-words fixed the problem.
-rw-r--r-- | numberparser.py | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/numberparser.py b/numberparser.py index fb04027..a87698d 100644 --- a/numberparser.py +++ b/numberparser.py @@ -65,20 +65,20 @@ class NumberParser: def __init__(self): self.number_words = [] - for word in self.zero: + for word in sorted(self.zero.keys()): self.number_words.append(word) - for word in self.ones: + for word in sorted(self.ones.keys()): self.number_words.append(word) - for word in self.special_ones: + for word in sorted(self.special_ones.keys()): self.number_words.append(word) - for word in self.tens: + for word in sorted(self.tens.keys()): self.number_words.append(word) - for word in self.hundred: + for word in sorted(self.hundred.keys()): self.number_words.append(word) - for word in self.exp: + for word in sorted(self.exp.keys()): self.number_words.append(word) self.mandatory_number_words = self.number_words.copy() - for word in self.allowed: + for word in sorted(self.allowed): self.number_words.append(word) def parse_number(self, text_line): |