ailab/benchmark/benchmark_result_controller.py (32 lines of code) (raw):

from __future__ import absolute_import, division, print_function, unicode_literals import json from .models import BenchmarkResult def store_result(data): logs = json.loads(data["logs"]) for log in logs: store_single_entry(log) return {"status": "success", "count": len(logs)} def store_single_entry(log): message = json.loads(log["message"]) r = BenchmarkResult() process_entry(r, message, "int") process_entry(r, message, "normal") process_vec_entry(r, message, "normvector") r.save() def process_entry(r, message, type): for k, v in message[type].items(): if k == "net_name": k = "model" try: setattr(r, k, v) except Exception: print("{} is not a valid field") def process_vec_entry(r, message, type): for k, v in message[type].items(): if k == "net_name": k = "model" v = json.dumps(v) try: setattr(r, k, v) except Exception: print("{} is not a valid field")