Load the summary asynchronously for quick startup.

- Interface starts before loading begins.
- Split out summary info into separate storage.
- Fixed iteration of PagedList.
- Not saving partially loaded summary during load.
This commit is contained in:
Andrew Hamilton 2020-04-09 11:08:39 +10:00
parent c9376e2bd3
commit 2704ccc9c3
5 changed files with 103 additions and 52 deletions

View file

@ -31,6 +31,12 @@ class PagedListTestCase(unittest.TestCase):
self.assertEqual(list_[1:5], [4, 5, 6, 7])
self.assertEqual(list_[:2], [3, 4])
self.assertEqual(list_[2:], [5, 6, 7, 8])
self.assertEqual(list(list_), [3, 4, 5, 6, 7, 8])
self.assertRaises(IndexError, list_.__getitem__, 6)
with tempfile.TemporaryDirectory() as temp_dir:
list_ = paged_list.PagedList([], temp_dir, 2, 2)
self.assertRaises(IndexError, list_.__getitem__, 0)
# self.assertEqual(list_[3:4], []) FIX
def test_pickling(self):
with tempfile.TemporaryDirectory() as temp_dir: