Mercurial > repo
view bin/whatis @ 12092:ceb43c4d37de draft
<fizzie> ` for w in benvenuto bienvenido bienvenue bonvenon tervetuloa v\xc3\xa4lkommen velkomin velkommen welcome welkom wercome willkommen \xd0\xb4\xd0\xbe\xd0\xb1\xd1\x80\xd0\xbe-\xd0\xbf\xd0\xbe\xd0\xb6\xd0\xb0\xd0\xbb\xd0\xbe\xd0\xb2\xd0\xb0\xd1\x82\xd1\x8c; do sed -i -e \'2s|^|my $bin = $ENV{"HACKENV"}."/bin"; |;s|bin/[@?]|$&|g\' /hackenv/bin/$w; done
author | HackEso <hackeso@esolangs.org> |
---|---|
date | Sat, 16 Nov 2019 22:19:36 +0000 |
parents | f79df0b509c8 |
children | 44379732c06b |
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]+)\)", line) if parts: match = False for argind, argfold in enumerate(argfoldv): if argfold == parts.group(1).casefold(): match = True foundv[argind] = True if match: print(line, end="") for arg, found in zip(argorg, foundv): if not found: print(arg + ": nothing appropriate.")