X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/3d1fb545dd1f49e0624d3adf20e5568b1c33d8ec..1405761d13e0ba62db4b1f9a9d5fa1472142b6d0:/apps/api/management/commands/mobileinit.py?ds=sidebyside diff --git a/apps/api/management/commands/mobileinit.py b/apps/api/management/commands/mobileinit.py index cfb9fb433..91ee3b624 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) @@ -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, @@ -106,7 +107,8 @@ CREATE TABLE state (last_checked INTEGER); def current(last_checked): target = os.path.join(MOBILE_INIT_DB, 'initial.db') - os.unlink(target) + if os.path.lexists(target): + os.unlink(target) os.symlink( 'initial.db-%d' % last_checked, target, @@ -116,9 +118,9 @@ def current(last_checked): 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 = """ @@ -143,7 +145,11 @@ def add_book(db, book): html_file_size = book.html_file.size else: html_file = html_file_size = None - parent = book.parent + if book.cover: + cover = book.cover.url + else: + cover = None + parent = book.parent_id parent_number = book.parent_number sort_key = book.sort_key size_str = pretty_size(html_file_size) @@ -153,7 +159,8 @@ def add_book(db, book): def add_tag(db, tag): id = tag.id - category = categories[tag.category] + # category = categories[tag.category] # localized names here? + category = tag.category name = tag.name sort_key = tag.sort_key