mirror of
https://github.com/simonw/sqlite-utils.git
synced 2026-09-16 05:24:26 +02:00
Progress bar for insert works now
This commit is contained in:
parent
4c1ed92c17
commit
2f38660d48
2 changed files with 12 additions and 15 deletions
|
|
@ -92,20 +92,15 @@ def find_spatialite():
|
|||
return None
|
||||
|
||||
|
||||
class UpdateReader(io.TextIOWrapper):
|
||||
def __init__(self, raw, update):
|
||||
super().__init__(raw)
|
||||
class UpdateWrapper:
|
||||
def __init__(self, wrapped, update):
|
||||
self._wrapped = wrapped
|
||||
self._update = update
|
||||
|
||||
def read(self, size=-1):
|
||||
bytes = super().read(size)
|
||||
self._update(len(bytes))
|
||||
return bytes
|
||||
|
||||
def readline(self, size=-1):
|
||||
bytes = super().readline(size)
|
||||
self._update(len(bytes))
|
||||
return bytes
|
||||
def __iter__(self):
|
||||
for line in self._wrapped:
|
||||
self._update(len(line))
|
||||
yield line
|
||||
|
||||
|
||||
@contextlib.contextmanager
|
||||
|
|
@ -115,4 +110,4 @@ def file_progress(file, silent=False, **kwargs):
|
|||
else:
|
||||
file_length = os.path.getsize(file.raw.name)
|
||||
with click.progressbar(length=file_length, **kwargs) as bar:
|
||||
yield UpdateReader(file, update=bar.update)
|
||||
yield UpdateWrapper(file, bar.update)
|
||||
|
|
|
|||
|
|
@ -1640,7 +1640,9 @@ def test_insert_encoding(tmpdir):
|
|||
open(csv_path, "wb").write(latin1_csv)
|
||||
# First attempt should error:
|
||||
bad_result = CliRunner().invoke(
|
||||
cli.cli, ["insert", db_path, "places", csv_path, "--csv"], catch_exceptions=False
|
||||
cli.cli,
|
||||
["insert", db_path, "places", csv_path, "--csv"],
|
||||
catch_exceptions=False,
|
||||
)
|
||||
assert bad_result.exit_code == 1
|
||||
assert (
|
||||
|
|
@ -1651,7 +1653,7 @@ def test_insert_encoding(tmpdir):
|
|||
good_result = CliRunner().invoke(
|
||||
cli.cli,
|
||||
["insert", db_path, "places", csv_path, "--encoding", "latin-1", "--csv"],
|
||||
catch_exceptions=False
|
||||
catch_exceptions=False,
|
||||
)
|
||||
assert good_result.exit_code == 0
|
||||
db = Database(db_path)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue