# HG changeset patch
# User Boris Feld <boris.feld@octobus.net>
# Date 1544003590 -3600
#      Wed Dec 05 10:53:10 2018 +0100
# Node ID d0b30ec6cf7ee13ca89d972a3597ce54c9feca63
# Parent  1e7737a8282a13fa59ef8476e41221778961cbc5
Refactor asv_result_time to ease future work

diff --git a/script/asv_result_time.py b/script/asv_result_time.py
--- a/script/asv_result_time.py
+++ b/script/asv_result_time.py
@@ -6,23 +6,45 @@
 import sys
 
 
-def main():
-    with open(sys.argv[1], 'r') as f:
-        result = json.load(f)
+def split_name(name):
+    return name
+
+
+def read_result_file(result_file):
+    with open(result_file, "r") as f:
+        return json.load(f)
+
+
+def parse_result_file(result):
     times = {}
-    mname = 0
+
     total_time = datetime.timedelta()
-    for name, start in result['started_at'].items():
-        times[name] = datetime.timedelta(seconds=(result['ended_at'][name] - start) / 1000.)
+
+    for name, start in result["started_at"].items():
+        times[name] = datetime.timedelta(
+            seconds=(result["ended_at"][name] - start) / 1000.0
+        )
         total_time += times[name]
-        mname = max(mname, len(name))
-    fmt = '{:<70} {:>10} {:>10}%'
-    print(fmt.format('Benchmark', 'Time', ''))
-    print(fmt.format('Total', total_time, '100'))
+
+    return times, total_time
+
+
+def format_results(times, total_time):
+    fmt = "{:<70} {:>10} {:>10}%"
+    print(fmt.format("Benchmark", "Time", ""))
+    print(fmt.format("Total", total_time, "100"))
     for name, btime in sorted(times.items(), key=operator.itemgetter(1), reverse=True):
-        percent = '%.2f' % (btime.total_seconds() / total_time.total_seconds() * 100,)
+        percent = "%.2f" % (btime.total_seconds() / total_time.total_seconds() * 100,)
         print(fmt.format(name, btime, percent))
 
 
-if __name__ == '__main__':
-    main()
+def main(result_file):
+    result = read_result_file(result_file)
+
+    times, total_time = parse_result_file(result)
+
+    format_results(times, total_time)
+
+
+if __name__ == "__main__":
+    main(sys.argv[1])