X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=m_librarian%2Finp.py;h=d0b567af4c5f97f218b4c393e575b6d69a18ab17;hb=refs%2Ftags%2F0.1.2;hp=f46bea62fe2a5270cb2075ec36fdb4ecd2f55df3;hpb=86656c272ceebd96a1bffcbfb588222d379ee3eb;p=m_librarian.git diff --git a/m_librarian/inp.py b/m_librarian/inp.py index f46bea6..d0b567a 100644 --- a/m_librarian/inp.py +++ b/m_librarian/inp.py @@ -1,5 +1,6 @@ import os +import sys from zipfile import ZipFile from sqlobject import sqlhub from sqlobject.sqlbuilder import Select @@ -72,13 +73,21 @@ def import_inp_line(archive, parts): book.addGenre(genre_row) +if sys.version[0] == 2: + def tounicode(s): + return s.decode('utf-8') +else: + def tounicode(s): + return s + + def import_inp(archive, inp): archives = set() files = set() connection = sqlhub.processConnection for file, in connection.queryAll(connection.sqlrepr( Select(Book.q.file, Book.q.archive == archive))): - files.add((archive, file.decode('utf-8'))) + files.add((archive, tounicode(file))) for line in inp: line = line.decode('utf-8') _archive, parts = split_line(line) @@ -86,7 +95,7 @@ def import_inp(archive, inp): archives.add(_archive) for file, in connection.queryAll(connection.sqlrepr( Select(Book.q.file, Book.q.archive == _archive))): - files.add((_archive, file.decode('utf-8'))) + files.add((_archive, tounicode(file))) file = parts[5] if (_archive or archive, file) not in files: files.add((_archive or archive, file))