Beispiel #1
0
 def test_read_json_types(self):
     path = str(test.get_data_path("downloads.json"))
     # datetime.date.fromisoformat requires Python >= 3.7.
     date = lambda x: datetime.date(*map(int, x.split("-")))
     types = {"date": date, "downloads": int}
     data = ListOfDicts.read_json(path, types=types)
     assert isinstance(data[0].date, datetime.date)
     assert isinstance(data[0].downloads, int)
     assert isinstance(data[100].date, datetime.date)
     assert isinstance(data[100].downloads, int)
Beispiel #2
0
 def test_write_json(self):
     orig = test.list_of_dicts("downloads.json")
     handle, path = tempfile.mkstemp(".json")
     orig.write_json(path)
     data = ListOfDicts.read_json(path)
     assert data == orig
Beispiel #3
0
 def test_read_json(self):
     path = str(test.get_data_path("downloads.json"))
     data = ListOfDicts.read_json(path)
     assert len(data) == 905
     assert all(len(x) == 3 for x in data)
Beispiel #4
0
 def test_read_json_keys(self):
     path = str(test.get_data_path("downloads.json"))
     data = ListOfDicts.read_json(path, keys=["date", "downloads"])
     assert list(data[0].keys()) == ["date", "downloads"]
     assert list(data[100].keys()) == ["date", "downloads"]
Beispiel #5
0
def read_json(path, *, encoding="utf-8", keys=[], types={}, **kwargs):
    return ListOfDicts.read_json(path,
                                 encoding=encoding,
                                 keys=keys,
                                 types=types,
                                 **kwargs)