X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=m_librarian%2Finp.py;h=76ab97be9883c4cd240ae725acc3300acf897e98;hb=935a32f3ad46cc24169afc635ffcd30ad00d5a98;hp=b3a3d84b43b662bd7870f51d77d0f504d8c18a78;hpb=0bf7ac6d6e6f181dec32e18af0e3566d659af527;p=m_librarian.git diff --git a/m_librarian/inp.py b/m_librarian/inp.py index b3a3d84..76ab97b 100644 --- a/m_librarian/inp.py +++ b/m_librarian/inp.py @@ -80,12 +80,23 @@ def import_inp(archive, inp): import_inp_line(archive, parts) -def import_inpx(path): +def import_inpx(path, pbar_cb=None): inpx = ZipFile(path) + if pbar_cb: + inp_count = 0 + for name in inpx.namelist(): + ext = os.path.splitext(name)[1] + if ext == '.inp': + inp_count += 1 + pbar_cb.set_max(inp_count) + inp_count = 0 for name in inpx.namelist(): archive, ext = os.path.splitext(name) if ext != '.inp': continue + if pbar_cb: + inp_count += 1 + pbar_cb.display(inp_count) inp = inpx.open(name) sqlhub.doInTransaction(import_inp, archive + '.zip', inp) inp.close() @@ -95,3 +106,5 @@ def import_inpx(path): connection.query("VACUUM %s" % table.sqlmeta.table) elif connection.dbName == 'sqlite': connection.query("VACUUM") + if pbar_cb: + pbar_cb.close()