aboutsummaryrefslogtreecommitdiff
path: root/app/utils
diff options
context:
space:
mode:
authorGertjan van den Burg <gertjanvandenburg@gmail.com>2019-05-23 16:43:05 -0400
committerGertjan van den Burg <gertjanvandenburg@gmail.com>2019-05-23 16:43:05 -0400
commitf19f2b809a015dcd6709788766b1a040657d0dfd (patch)
tree552e1db43a9d79f63c871f45be067481a16e3651 /app/utils
parentMove js to separate files (diff)
downloadAnnotateChange-f19f2b809a015dcd6709788766b1a040657d0dfd.tar.gz
AnnotateChange-f19f2b809a015dcd6709788766b1a040657d0dfd.zip
Move load_data_for_chart to utils
Diffstat (limited to 'app/utils')
-rw-r--r--app/utils/datasets.py31
1 files changed, 29 insertions, 2 deletions
diff --git a/app/utils/datasets.py b/app/utils/datasets.py
index 078535f..74785cb 100644
--- a/app/utils/datasets.py
+++ b/app/utils/datasets.py
@@ -33,9 +33,15 @@ Author: Gertjan van den Burg
"""
-import re
-import json
import hashlib
+import json
+import logging
+import os
+import re
+
+from flask import current_app
+
+logger = logging.getLogger(__file__)
def validate_dataset(filename):
@@ -99,3 +105,24 @@ def md5sum(filename):
hasher.update(buf)
buf = fid.read(blocksize)
return hasher.hexdigest()
+
+
+def load_data_for_chart(name, known_md5):
+ dataset_dir = os.path.join(
+ current_app.instance_path, current_app.config["DATASET_DIR"]
+ )
+ target_filename = os.path.join(dataset_dir, name + ".json")
+ if not md5sum(target_filename) == known_md5:
+ logger.error(
+ """
+ MD5 checksum failed for dataset with name: %s.
+ Found: %s.
+ Expected: %s.
+ """
+ % (name, md5sum(target_filename), known_md5)
+ )
+ return None
+ with open(target_filename, "rb") as fid:
+ data = json.load(fid)
+ chart_data = [{"value": x} for x in data["series"]["V1"]["raw"]]
+ return {"chart_data": chart_data}