storage code removed from web app file
diff --git a/web_app/__init__.py b/web_app/__init__.py
index ad2fe42..01c3dba 100644
--- a/web_app/__init__.py
+++ b/web_app/__init__.py
@@ -3,7 +3,7 @@
 from flask_bootstrap import Bootstrap
 from config import TEST_PATH
 from report import build_vertical_bar, build_lines_chart
-from storage_api import Measurement
+from storage_api import builds_list, collect_builds, create_measurement
 from logging import getLogger, INFO
 
 import json
@@ -22,99 +22,6 @@
 app.jinja_env.globals['get_resource_as_string'] = get_resource_as_string
 
 
-def load_test(test_name):
-    test_name += '.json'
-
-    with open(TEST_PATH + "/" + test_name, 'rt') as f:
-        raw = f.read()
-
-        if raw != "":
-            test = json.loads(raw)
-        else:
-            test = []
-    import time
-    creation_time = os.path.getmtime(TEST_PATH + "/" + test_name)
-
-    for t in test:
-        t['date'] = time.ctime(creation_time)
-
-    return test
-
-
-def collect_tests():
-    result = []
-
-    for file in os.listdir(TEST_PATH):
-        if file.endswith(".json"):
-            result.append(file.split('.')[0])
-
-    return result
-
-
-def mean(l):
-    n = len(l)
-
-    return sum(l) / n
-
-
-def stdev(l):
-    m = mean(l)
-    return math.sqrt(sum(map(lambda x: (x - m) ** 2, l)))
-
-
-def prepare_build_data(build):
-    for item in build.items():
-        if type(item[1]) is list:
-            m = mean(item[1])
-            s = stdev(item[1])
-            build[item[0]] = [m, s]
-
-
-def collect_builds():
-    builds = []
-    build_set = set()
-    tests = collect_tests()
-
-    for t in tests:
-        test = load_test(t)
-
-        for build in test:
-            if build["type"] not in build_set:
-                build_set.add(build["type"])
-                builds.append(build)
-
-    for build in builds:
-        prepare_build_data(build)
-
-    return builds
-
-
-def builds_list():
-    data = []
-
-    for build in collect_builds():
-        d = {}
-        d["type"] = build['type']
-        d["url"] = url_for("render_test", test_name=build['name'])
-        d["date"] = build['date']
-        d["name"] = build['name']
-        data.append(d)
-
-    return data
-
-
-def create_measurement(build):
-    m = Measurement()
-    m.build = build.pop("build_id")
-    m.build_type = build.pop("type")
-    m.md5 = build.pop("iso_md5")
-    m.date = build.pop("date")
-    m.date = build.pop("name")
-    m.results = {k: v for k, v in build.items()}
-
-    return m
-
-
 def total_lab_info(data):
     d = {}
     d['nodes_count'] = len(data['nodes'])