# HG changeset patch
# User Laman
# Date 2021-10-20 14:26:47
# Node ID 4ade6373edbaaa34c418f691a9204ddd414ee188
# Parent  2a3c04d4730009a3f52c27444f0ca6bda82fa0d6

created a main() function

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