diff --git a/wordle_helper.py b/wordle_helper.py index 26ce77f..e3fc753 100644 --- a/wordle_helper.py +++ b/wordle_helper.py @@ -17,6 +17,11 @@ def main() -> int: metavar="LETTERS", help="Only include words composed solely of these letters (case-insensitive)", ) + parser.add_argument( + "--exclude", + metavar="LETTERS", + help="Exclude words containing any of these letters (case-insensitive)", + ) parser.add_argument( "--mask", metavar="PATTERN", @@ -44,6 +49,7 @@ def main() -> int: args = parser.parse_args() only_set = set(args.only.lower()) if args.only else None + exclude_set = set(args.exclude.lower()) if args.exclude else None # Prepare matchers # Validate and normalize mask @@ -82,6 +88,8 @@ def main() -> int: def matches(word: str) -> bool: if only_set is not None and not (set(word.lower()) <= only_set): return False + if exclude_set is not None and (set(word.lower()) & exclude_set): + return False if mask_positions is not None: wl = word.lower() for i, ch in enumerate(mask_positions):