Coding style.

- Make PagedList responsible for deleting previous versions.
This commit is contained in:
Andrew Hamilton 2019-08-27 21:44:00 +10:00
parent beeedc3800
commit db08b3f465
2 changed files with 7 additions and 4 deletions

View file

@ -6,16 +6,20 @@ import functools
import gzip
import os
import pickle
import shutil
class PagedList:
def __init__(self, list_, pages_dir, page_size, cache_size):
def __init__(self, list_, pages_dir, page_size, cache_size, exist_ok=False):
self.pages_dir = pages_dir # An empty or non-existant directory.
self.page_size = page_size
self.cache_size = cache_size
self._len = len(list_)
tmp_dir = pages_dir + ".tmp"
if exist_ok:
shutil.rmtree(tmp_dir, ignore_errors=True)
shutil.rmtree(pages_dir, ignore_errors=True)
os.makedirs(tmp_dir)
pages = ([[]] if len(list_) == 0 else
(list_[start:start+self.page_size]

View file

@ -86,10 +86,9 @@ def make_result_widget(text, result):
appearance = fill3.str_to_appearance(text)
page_size = 500
if len(appearance) > page_size:
pages_dir = result.get_pages_dir()
shutil.rmtree(pages_dir, ignore_errors=True)
appearance = eris.paged_list.PagedList(
appearance, pages_dir, page_size, cache_size=2)
appearance, result.get_pages_dir(), page_size, cache_size=2,
exist_ok=True)
return fill3.Fixed(appearance)