Hi,
I wonder if there is a small issue in the file automata.py, function __words_with_wildcard, between lines 128 and 147, when the case letter=='*' is processed.
If the dictionary is made of, for example, "CHIAC" and "CHIC", and the query is "CHI*C", the result will be return in an incorrect alphabetical order : "CHIC" then "CHIAC".
This is because the case words_at_current_level is processed before checking the children.
So, for "CHI*C",
- words_at_current_level will first find "CHIC"
- then the loop for child in node.children will find "CHIAC", resulting in an incorrect order of answers.
Any idea? Or maybe did I misunderstood the code?
Best,
Lionel