X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;ds=sidebyside;f=m_librarian%2Finp.py;h=b3a3d84b43b662bd7870f51d77d0f504d8c18a78;hb=0bf7ac6d6e6f181dec32e18af0e3566d659af527;hp=a030ebc8993dfe65735d773291f085baf964a14b;hpb=d6ef04787834ffeded257d96af4c965ca7055a51;p=m_librarian.git diff --git a/m_librarian/inp.py b/m_librarian/inp.py index a030ebc..b3a3d84 100644 --- a/m_librarian/inp.py +++ b/m_librarian/inp.py @@ -14,10 +14,10 @@ EOT = chr(4) # INP field separator def split_line(line): parts = line.strip().split(EOT) - l = len(parts) - if l < 11: + _l = len(parts) + if _l < 11: raise ValueError('Unknown INP structure: "%s"' % line) - if l == 11: # Standard structure + if _l == 11: # Standard structure parts.append(None) # Emulate lang else: # New structure parts = parts[:12] @@ -72,6 +72,7 @@ def import_inp(archive, inp): Select(Book.q.file, Book.q.archive == archive))): files.add(file) for line in inp: + line = line.decode('utf-8') parts = split_line(line) file = parts[5] if file not in files: @@ -89,6 +90,8 @@ def import_inpx(path): sqlhub.doInTransaction(import_inp, archive + '.zip', inp) inp.close() connection = sqlhub.processConnection - if connection.dbName in ('postgres', 'sqlite'): + if connection.dbName == 'postgres': for table in Author, Book, Extension, Genre, Language: connection.query("VACUUM %s" % table.sqlmeta.table) + elif connection.dbName == 'sqlite': + connection.query("VACUUM")