Beispiel #1
0
def get_json(workout):
    p = swim_parser.parser
    res = p.parse(workout)
    sv = SwimJsonVisitor()
    cv = SwimJsonCloseVisitor()
    out = traversal.json_traverse(res, sv, cv, [])
    return json.dumps(json.loads(out), indent = 2)
 def test_multi_set(self):
     """
     Test a multiset (e.g 2 x {1 x 50 ... } 
     """
     s = '2 x {2 x 100 fr @1:20 2 x 100 IM @1:30}'
     result = self.parser.parse(s)
     actual = traversal.json_traverse(result, self.json_visitor, self.json_close_visitor, [])
     expected = '{"setlist": [{"reps": 2, "setlist": [{"reps": 2, "distance": 100, "stroke": "fr", "zone": null, "time": 80}, {"reps": 2, "distance": 100, "stroke": "IM", "zone": null, "time": 90}]}]}'
     self.assertEqual(actual, expected)
 def test_set_with_only_distance(self):
     """
     Takes a set that is defined only by yards, e.g. 1000.
     Should return a json structure like:
     { setlist: { set: { reps: 0, yards: 1000, zone: None, stroke: None}}}
     """
     s = '1000'
     result = self.parser.parse(s)
     actual = traversal.json_traverse(result, self.json_visitor, self.json_close_visitor, [])
     expected = '{"setlist": [{"reps": 1, "distance": 1000, "stroke": null, "zone": null, "time": 0}]}'
     self.assertEqual(actual, expected)