def test_metric(): conn = Model.setup_db() Metric.create_table(conn) metric = Metric.create(conn, created_at = datetime.now(), name = "mood", description = "On a scale of 1 to 10, 10 being best, rate your mood." ) assert metric.id > 0 MetricData.create_table(conn) p1 = MetricData.create(conn, created_at = datetime.now(), value = 7, metric_id = metric.id ) assert p1.id > 0 p2 = MetricData.create(conn, created_at = datetime.now(), value = 8, metric_id = metric.id ) assert p2.id > 0 latest = metric.latest(conn) assert latest.value == 8 assert latest.id == p2.id datetimes, values = metric.ts(conn) assert values == [7, 8]
def record_metric(m, value="None"): c = ado.commands.conn() if m < 0: Metric.printall(c) raw_m = ado.commands.clean_input("Choose a metric number: ") if raw_m: m = int(raw_m) else: sys.stderr.write("No metric chosen.\n") sys.exit(1) if value == "None": metric = Metric.get(c, m) print "Record Metric %s) %s" % (metric.id, metric.name) print metric.description value = float(ado.commands.clean_input("> ")) md = MetricData.create(c, metric_id=m, value=value, created_at=datetime.now()) print md.display_line()