diff --git a/rank_progress.py b/rank_progress.py --- a/rank_progress.py +++ b/rank_progress.py @@ -90,20 +90,7 @@ def rating_to_rank(rating): return rank_list[min(key+9, 36)] -if __name__ == "__main__": - parser = argparse.ArgumentParser() - parser.add_argument("since", help="a date in YYYYMMDD format") - parser.add_argument("to", nargs="?", help="a date in YYYYMMDD format") - parser.add_argument("-c", "--country-code", default="CZ", help="a two letter country code, default=CZ") - - args = parser.parse_args() - - since = datetime.strptime(args.since, "%Y%m%d") - to = datetime.strptime(args.to, "%Y%m%d") if args.to else datetime.now() - - with open("/tmp/all.hst") as f: - s = f.read() - +def main(s, since, to, args): records = [Record.parse(line) for line in s.splitlines()] records = filter(lambda rec: rec is not None, records) national_records = filter(lambda rec: rec.country_code == args.country_code, records) @@ -129,3 +116,20 @@ if __name__ == "__main__": if steps: print("\n".join(map(str, steps))) print() + + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument("since", help="a date in YYYYMMDD format") + parser.add_argument("to", nargs="?", help="a date in YYYYMMDD format") + parser.add_argument("-c", "--country-code", default="CZ", help="a two letter country code, default=CZ") + + args = parser.parse_args() + + since = datetime.strptime(args.since, "%Y%m%d") + to = datetime.strptime(args.to, "%Y%m%d") if args.to else datetime.now() + + with open("/tmp/all.hst") as f: + s = f.read() + + main(s, since, to, args) \ No newline at end of file