mtgencode/scripts/sum.py
2016-08-13 21:16:43 -04:00

58 lines
1.4 KiB
Python
Executable file

#!/usr/bin/env python
import sys
import os
libdir = os.path.join(os.path.dirname(os.path.realpath(__file__)), '../lib')
sys.path.append(libdir)
def main(fname):
with open(fname, 'rt') as f:
text = f.read()
cardstats = text.split('\n')
nonempty = 0
name_avg = 0
name_dupes = 0
card_avg = 0
card_dupes = 0
for c in cardstats:
fields = c.split('|')
if len(fields) < 4:
continue
nonempty += 1
idx = int(fields[0])
name = str(fields[1])
ndist = float(fields[2])
cdist = float(fields[3])
name_avg += ndist
if ndist == 1.0:
name_dupes += 1
card_avg += cdist
if cdist == 1.0:
card_dupes += 1
name_avg = name_avg / float(nonempty)
card_avg = card_avg / float(nonempty)
print(str(nonempty) + ' cards')
print('-- names --')
print('avg distance: ' + str(name_avg))
print('num duplicates: ' + str(name_dupes))
print('-- cards --')
print('avg distance: ' + str(card_avg))
print('num duplicates: ' + str(card_dupes))
print('----')
if __name__ == '__main__':
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('infile', #nargs='?'. default=None,
help='data file to process')
args = parser.parse_args()
main(args.infile)
exit(0)