Mercurial > repo
view bin/whatis @ 12324:d3ee6de4b493 draft
<kspalaiologos> addquote <kspalaiologos> why jbot died <b_jonas> kspalaiologos: int-e killed it so that you don\'t spam the channel :-)
author | HackEso <hackeso@esolangs.org> |
---|---|
date | Wed, 08 Apr 2020 08:39:48 +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.")