import list_utils
cfg = config.add_commandline_args(
- f'Unscramble! ({__file__})',
- 'A fast word unscrambler.'
+ f'Unscramble! ({__file__})', 'A fast word unscrambler.'
)
cfg.add_argument(
"--unscramble_indexfile",
@staticmethod
def repopulate(
- letter_sigs: Dict[str, int],
- dictfile: str = '/usr/share/dict/words',
- indexfile: str = '/usr/share/dict/sparse_index',
+ letter_sigs: Dict[str, int],
+ dictfile: str = '/usr/share/dict/words',
+ indexfile: str = '/usr/share/dict/sparse_index',
) -> None:
"""Before calling this method, change letter_sigs from the default above
unless you want to populate the same exact files."""
"""
sig = Unscrambler.compute_word_sig(word)
- return Unscrambler.lookup_by_sig(sig, include_fuzzy_matches=include_fuzzy_matches)
+ return Unscrambler.lookup_by_sig(
+ sig, include_fuzzy_matches=include_fuzzy_matches
+ )
@staticmethod
def lookup_by_sig(sig, *, include_fuzzy_matches=False) -> Dict[str, bool]:
word = Unscrambler.words[x]
fsig = Unscrambler.sigs[x]
if include_fuzzy_matches is True or (fsig == sig):
- ret[word] = (fsig == sig)
+ ret[word] = fsig == sig
return ret
+
#
# To repopulate, change letter_sigs and then call Unscrambler.repopulate.
-# See notes above.
+# See notes above. See also ~/bin/unscramble.py --populate_destructively.
#
if __name__ == "__main__":
import doctest
+
doctest.testmod()