|
В связи с постоянным пропаданием games.utf, версия с укороченным списком (без описаний). кстати, в архивах есть R/TYCOON.ZIP и T/TYCOON.ZIP :), в этой версии можно прямо задавать r/tycoon или t/tycoon
dgm.py
====import sys, os,base64; k = sys.argv[1][0] #dgmini
MIN='''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 tcqFAufV/95rJB1VGAAA'''
if k=='u': open('games.min.gz','wb').write(base64.b64decode(MIN)) exit()
def dl(p,f): if not os.path.exists('dl/%s' % f): print ('mkdir -p dl && wget -c http://gamesindos.narod.ru/%s/%s.ZIP -O dl/%s.ZIP' % (p,f,f)) if k=='i': print ('mkdir -p dos/%s' % f) print ('unzip -d dos/%s dl/%s.ZIP' % (f,f))
db = open('games.min').read().split() def gv(v): if '/' in v: return [v.upper()] else: return [n for n in db if n.split('/')[1].lower() == v]
if k=='s': print ('cat << EOFSEARCH') for t in db: x = t.split('/') t = x[1] if any([s.lower() in t.lower() for s in sys.argv[2:]]): print ("%s/%s" % (x[0],x[1])) print ('EOFSEARCH') else: for t in sys.argv[2:]: if gv(t): dl(*gv(t)[0].split('/'))
====
dgm
====python3 dgm.py $* | sh gunzip games.min.gz 2> /dev/null
====
использование такое же
sh dgm u (создаёт games.min) sh dgm s keen sh dgm i civ-rus kb2
|