diff options
| author | Gertjan van den Burg <gertjanvandenburg@gmail.com> | 2019-05-23 16:43:05 -0400 |
|---|---|---|
| committer | Gertjan van den Burg <gertjanvandenburg@gmail.com> | 2019-05-23 16:43:05 -0400 |
| commit | f19f2b809a015dcd6709788766b1a040657d0dfd (patch) | |
| tree | 552e1db43a9d79f63c871f45be067481a16e3651 /app/utils | |
| parent | Move js to separate files (diff) | |
| download | AnnotateChange-f19f2b809a015dcd6709788766b1a040657d0dfd.tar.gz AnnotateChange-f19f2b809a015dcd6709788766b1a040657d0dfd.zip | |
Move load_data_for_chart to utils
Diffstat (limited to 'app/utils')
| -rw-r--r-- | app/utils/datasets.py | 31 |
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} |
