X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/60b06883b6d5a336ef47c01103ec1ce25aafae69..c3545c19bd62da303fe0f8c49f82d8c340d965ea:/apps/api/management/commands/mobileinit.py?ds=inline diff --git a/apps/api/management/commands/mobileinit.py b/apps/api/management/commands/mobileinit.py index 658b1770d..3d88a7744 100755 --- a/apps/api/management/commands/mobileinit.py +++ b/apps/api/management/commands/mobileinit.py @@ -23,10 +23,10 @@ class Command(BaseCommand): db = init_db(last_checked) for b in Book.objects.all(): add_book(db, b) - for t in Tag.objects.exclude(category__in=('book', 'set', 'theme')): + for t in Tag.objects.exclude( + category__in=('book', 'set', 'theme')).exclude(book_count=0): # only add non-empty tags - if t.get_count(): - add_tag(db, t) + add_tag(db, t) db.commit() db.close() current(last_checked) @@ -58,7 +58,7 @@ def pretty_size(size): value = re.sub('[^a-zA-Z0-9\\s\\-]{1}', replace_char, value) value = value.lower() value = re.sub(r'[^a-z0-9{|}]+', '~', value) - + return value.encode('ascii', 'ignore') @@ -71,7 +71,8 @@ def init_db(last_checked): schema = """ CREATE TABLE book ( id INTEGER PRIMARY KEY, - title VARCHAR, + title VARCHAR, + cover VARCHAR, html_file VARCHAR, html_file_size INTEGER, parent INTEGER, @@ -112,14 +113,14 @@ def current(last_checked): 'initial.db-%d' % last_checked, target, ) - + book_sql = """ INSERT INTO book - (id, title, html_file, html_file_size, parent, parent_number, sort_key, pretty_size, authors) + (id, title, cover, html_file, html_file_size, parent, parent_number, sort_key, pretty_size, authors) VALUES - (:id, :title, :html_file, :html_file_size, :parent, :parent_number, :sort_key, :size_str, :authors); + (:id, :title, :cover, :html_file, :html_file_size, :parent, :parent_number, :sort_key, :size_str, :authors); """ book_tag_sql = "INSERT INTO book_tag (book, tag) VALUES (:book, :tag);" tag_sql = """ @@ -129,9 +130,9 @@ tag_sql = """ (:id, :category, :name, :sort_key, :book_ids); """ categories = {'author': 'autor', - 'epoch': 'epoka', - 'genre': 'gatunek', - 'kind': 'rodzaj', + 'epoch': 'epoka', + 'genre': 'gatunek', + 'kind': 'rodzaj', 'theme': 'motyw' } @@ -144,6 +145,10 @@ def add_book(db, book): html_file_size = book.html_file.size else: html_file = html_file_size = None + if book.cover: + cover = book.cover.url + else: + cover = None parent = book.parent_id parent_number = book.parent_number sort_key = book.sort_key