Mercurial > repo
view bin/whatis @ 12521:1298a4f734a6 draft default tip
<int-e> learn The password of the month is 99.964%
author | HackEso <hackeso@esolangs.org> |
---|---|
date | Sun, 02 Feb 2025 02:05:24 +0000 |
parents | 44379732c06b |
children |
line wrap: on
line source
#!/usr/bin/python3 import sys, os, re if len(sys.argv) <= 1: print("whatis what?") sys.exit(1) else: argorg = [] argfoldv = [] foundv = [] for arg in sys.argv[1:]: argorg.append(arg) argfoldv.append(arg.casefold()) foundv.append(False) with open(os.environ.get("HACKENV","/hackenv") + "/share/whatis", errors="surrogateescape") as whatisdb: for line in whatisdb: parts = re.match(r"([^()]+)\(([0-9A-Z_a-z])([0-9A-Z_a-z]*)\)", line) if parts: match = False for argind, argfold in enumerate(argfoldv): if (argfold == parts.group(1).casefold() or argfold == parts.group(1) + "(" + parts.group(2) + parts.group(3) + ")" or argfold == parts.group(1) + "(" + parts.group(3) + ")") \ : match = True foundv[argind] = True if match: print(line, end="") for arg, found in zip(argorg, foundv): if not found: print(arg + ": nothing appropriate.")